我正在尝试使用导航来构建我的菜单。但是,我需要为标记
设置id<ul class="sf-menu" id="nav">
<li class="active">
<a href="/">Home</a>
</li>
<li>
<a href="/api">Api</a>
</li>
<li>
<a href="/a">Baker and spice</a>
</li>
</ul> '
但是,我似乎无法做到这一点。
我尝试使用foreach
构建html<?php
foreach ($this->container as $page){
}
?>
它没有做任何事情,因为$ this-&gt;容器显示为NULL。
请指教!
提前致谢,
贾斯汀
答案 0 :(得分:2)
如果您认为可以致电
echo $this->navigation('navigation')->menu();
这会正确输出您的菜单,您必须要做的是使用部分视图脚本创建自定义菜单(因此您使用$this->container
的原因,否则将无法设置)。要做到这一点,请确保你有这个:
echo $this->navigation('navigation')->menu()
->setPartial('my-module/partials/menu')->render();
以及相应的部分脚本:menu.phtml
目录中名为module/MyModule/view/my-module/partials
的文件(对于本例)。
// module/MyModule/view/my-module/partials/menu.phtml
<ul class="sf-menu" id="nav">
<?php foreach ($this->container as $page): ?>
<li <?= $page->isActive()? 'class="active"' : '' ?>>
<?= $this->navigation()->menu()->htmlify($page) ?>
</li>
<?php endforeach; ?>
</ul>
(这只会给你一个单级菜单,但会让你走上正确的道路。)