ZF2导航:设置UL​​ id属性

时间:2013-07-01 03:18:17

标签: php navigation zend-framework2

我正在尝试使用导航来构建我的菜单。但是,我需要为标记

设置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。

请指教!

提前致谢,

贾斯汀

1 个答案:

答案 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>

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