【发布时间】:2017-09-08 08:32:16
【问题描述】:
我最近开始使用 SilverStripe。现在我为我的页面制作了一个页脚菜单,其中已经有一个左侧菜单。现在我想让我可以在管理面板中为脚和左侧菜单制作页面。所以我的想法是在管理面板中创建一个复选框,如果您创建一个新页面并选中该页面进入脚菜单的复选框,如果留空则在左侧菜单中。
我将此代码添加到我的 page.php sidetree
static $db = array( 'menuLocationHorizontal' => "Boolean" );
这在 page.php 中的 getCMSFields 中
$fields->addFieldToTab('Root.Behaviour', new
CheckboxField('menuLocationHorizontal',"Show up in horizontal
menu?"),"ShowInSearch");
这就是我的脚导航模板的样子
<ul>
<% control Menu(2) %>
<% if menuLocationHorizontal == 1 %>
<li><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode"><span>$MenuTitle.XML</span></a></li>
<% end_if %>
<% end_control %>
</ul>
完成此操作后,我只需在我的脚菜单中添加一个 if 语句即可。但它使网站崩溃。我使用的版本是 3.1。我猜它的 php 犯规。 对不起,我的英语不是我的母语。
【问题讨论】:
-
您可以查看github.com/heyday/silverstripe-menumanager/tree/2.0 模块,您可以在其中从 Pages 定义单独的菜单。
-
谢谢我添加了这个,但它不会工作。我 maka 一个新的菜单集,它向我显示内部服务器错误,但它仍然生成 menu_set,之后我无法编辑集
标签: silverstripe