我有一个navigation.xml
文件,我有一个简单的菜单,在<pages>
标记内有一个子菜单。
子菜单运行良好,除非我在网址中添加了$_GET
参数。
像这样:admin/manage/pages/id/1
&lt; - 使用此网址,子菜单未显示
链接说明:
{module}/{controller}/{action}/{key}/{value}
我想我没有更多的信息,因为我的设置只是基本的,而且行为很奇怪。
希望你知道这出错了。
Bytheway:我使用默认路线。
编辑:我使用以下代码显示子菜单$this->navigation()->menu()->setMaxDepth(0);
(来自 ArtWorkAD 的代码建议都不起作用)
这是我的navigation.xml:` 网站 /
<beheer>
<label>Beheer</label>
<module>admin</module>
<controller>beheer</controller>
<uri>/admin/beheer</uri>
<pages>
<paginabeheer>
<label>Pagina beheer</label>
<module>admin</module>
<controller>paginabeheer</controller>
<action>index</action>
**//THE CODE BELOW IS ADDED ON ArtWorkAD's SUGGESTION**
<pages>
<paginabeheer>
<label>Pagina beheer</label>
<module>admin</module>
<controller>paginabeheer</controller>
<action>index</action>
</paginabeheer>
</pages>
**// END ADDED CODE**
</paginabeheer>
</pages>
</beheer>
</nav>
`
答案 0 :(得分:1)
有些人说这是一个错误,但我认为有一个简单的解决方法。
查看此问题:Zend_View_Helper_Navigation_Menu::renderSubMenu() should use minDepth=1 per default
所以尝试像这样使用minDepth
// Navigation 1. Level
echo $this->navigation()->menu()->renderMenu(null,
array('minDepth' => 0, 'maxDepth' => 0));
// Navigation 2. Level
echo $this->navigation()->menu()->renderMenu(null,
array('minDepth' => 1, 'maxDepth' => 2, 'onlyActiveBranch' => true));
如果这不起作用,请尝试将子菜单项添加到子菜单以查看会发生什么,现在应该渲染子菜单。
答案 1 :(得分:0)
ArtWorkAD你是对的!我找到了我做错的事。
现在工作代码为:<?= $this->navigation()->menu()->setUlClass('navigation-submenu')->renderMenu(null,
array('minDepth' => 2, 'maxDepth' => 2)); ?>
所以你的回答是正确的! 在我的XML文件中,需要我有额外的子子页面。非常感谢您的解决方法!
我将你的帖子标记为答案。