您好我在没有找到解决方案的情况下深入研究这个问题。这看起来很简单,但我转了一会儿。
我正在尝试在菜单中突出显示父母和1个孩子。两者都有相同的uri,但只有父级才能获得活动类。
这是我的xml:
<configData>
<apps>
<agenda>
<label>Agenda</label>
<uri>/apps/agenda</uri>
<pages>
<page1>
<label>Page 1</label>
<uri>/apps/agenda</uri>
</page1>
<page2>
<label>Page 2</label>
<uri>/apps/agenda/page2</uri>
</page2>
</pages>
</agenda>
</apps>
</configData>
这里我的.phtml:
<div>
<?php echo $this->navigation(Zend_Registry::get('Zend_NavigationApp'))->menu()
->renderMenu(null, array(
'minDepth' => null,
'maxDepth' => 1,
'ulClass' => 'navigation',
'onlyActiveBranch' => false));
?>
</div>
这里生成的html:
<div>
<ul class="navigation">
<li class="active">
<a href="/apps/agenda">Agenda</a>
<ul>
<li> /*Here the expected active class*/
<a href="/apps/agenda">Page 1</a>
</li>
<li>
<a href="/apps/agenda/page2">Page 2</a>
</li>
</ul>
</li>
</ul>
</div>
我想要做的就是在点击父链接后获得活动类的“li”父级和“li”子级。
答案 0 :(得分:2)
使用MVC代替URI样式配置xml文件修复了我的所有问题。
这是我修复的xml:
<configData>
<apps>
<agenda>
<label>Agenda</label>
<module>module_1</module>
<controller>control_1</controller>
<action>action_1</action>
<route>agenda_1</route>
<pages>
<page1>
<label>Page 1</label>
<module>module_1</module>
<controller>control_1</controller>
<action>action_1</action>
<route>agenda_1</route>
</page1>
<page2>
<label>Page 2</label>
<module>module_2</module>
<controller>control_2</controller>
<action>action_2</action>
<route>agenda_2</route>
</page2>
</pages>
</agenda>
</apps>
</configData>
请注意,我在我的ini文件中使用了路由定义。