0

我正在尝试使用导航来构建我的菜单。但是,我需要为标签设置 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->container 显示为 NULL。

请指教!

提前致谢,

贾斯汀

4

1 回答 1

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>

(这只会给你一个单级菜单,但会让你走上正确的道路。)

于 2013-07-01T07:29:40.583 回答