我正在尝试使用导航来构建我的菜单。然而,我需要设置标签的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->容器显示为NULL。
请给我建议!
提前感谢
Justin
如果在您的视图中,您可以调用
echo $this->navigation('navigation')->menu();
要正确输出菜单,您必须要做的是使用局部视图脚本创建一个自定义菜单(因此,您使用$this->container
,否则不会设置)。要做到这一点,请确保你有这个:
echo $this->navigation('navigation')->menu()
->setPartial('my-module/partials/menu')->render();
以及相应的部分脚本:module/MyModule/view/my-module/partials
目录中名为menu.phtml
的文件(在本例中)。
// 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>
(这只给你一个单一级别的菜单,但会让你走上正确的道路。)