Я работаю над проблемой субдоменов silverstripe, код написал кто-то другой, поэтому буду признателен за любую помощь.
На главном веб-сайте, например, www.mainwebsite.com, есть панель навигации «О нас», и мы хотели бы, чтобы «О нас» исчезла для любых поддоменов, например, subdomain.mainwebsite.com.
Я вижу из бэкэнда Silverstripe, что есть функция «Скрыть в субдоменах», и я поставил галочку. Однако ссылка «О нас» пропадает на некоторое время и появляется снова в других томах как на основном сайте, так и на поддоменах.
Может ли кто-нибудь указать мне правильное направление, как я могу решить эту проблему? Я могу скопировать любой код здесь, если вам нужно. Пожалуйста помоги.
Большое спасибо, С :)
добавьте комментарии, я нашел этот код в моей странице.php на моем сайте - папка с кодом, если это полезно
function ShowMenuInSubdomain()
{
$host = explode('.',$_SERVER['HTTP_HOST']);
$subdomain = $host[0];
if($subdomain != 'www' && $this->HideInSubdomains) {
return true;
}
}
добавьте комментарии, вот часть навигации в Page.ss в теме - папка шаблонов, которую я использую
<div id="Header">
<div id="HeaderWrapper">
<div id="LogoWrapper"><a href="{$BaseHref}">$GetSubDomainHeaderImage</a></div>
<div id="Navigation">
<% cached 'Navigation', Aggregate(Page).Max(LastEdited) %>
<% include Navigation %>
<% end_cached %>
</div>
</div>
</div>
добавить комментарии, вот как выглядит моя папка navigation.ss в папке templates-includes
<ul>
<% control Menu(1) %>
<% if ShowMenuInSubdomain %>
<% else %>
<li <% if Children %>class="hasChildren"<% end_if %>>
<a href="$Link" title="$Title.XML" class="$LinkingMode">$MenuTitle.XML <% if ShowMenuInSubdomain %>0<% end_if %></a>
<% if Children %>
<ul>
<% control Children %>
<li <% if Children %>class="hasChildren"<% end_if %>>
<a href="$Link" title="$Title.XML" class="$LinkingMode">$MenuTitle.XML</a>
<% if Children %>
<ul>
<% control Children %>
<ul class="thridUL{$Pos}">
<% if DisableLink %>
<li>
<span class="$LinkingMode thirdLevelTitle lookLikeALink">$MenuTitle.XML</span>
</li>
<% else_if ShowLabelInMenu==0 %>
<li>
<a href="$Link" title="$Title.XML" class="$LinkingMode thirdLevelTitle">$MenuTitle.XML</a>
</li>
<% end_if %>
<% if Children %>
<% control Children %>
<li>
<a href="$Link" title="$Title.XML" class="$LinkingMode">$MenuTitle.XML</a>
<% if Summary %>
<span class="menuSummary">
$Summary
<span class="menuSummaryThumb">$Thumbnail.PaddedImage(160, 160)</span>
</span>
<% end_if %>
</li>
<% end_control %>
<% end_if %>
</ul>
<div class="clear"> </div>
<% end_control %>
</ul>
<% end_if %>
</li>
<% end_control %>
</ul>
<% end_if %>
</li>
<% end_if %>
<% end_control %>
<li id="calculatorWrapper">
<a id="Calculator" href="$distanceCalculator.Link" rel="shadowbox;height=800;width=1000"><span>Journey Planner</span></a>
</li> </ul>
Извините, это немного длинно, но любая помощь приветствуется. Спасибо.
Привет всем, кажется, теперь это работает, когда я удалил ‹% кэшированных «Навигация», Aggregate(Page).Max(LastEdited) %> ‹% end_cached %> в page.ss. Может кто-нибудь, пожалуйста, объясните, для чего была эта строка или ее значение? Спасибо.