使用zend框架如何创建单级菜单?
我按照教程,该人创建了一个两级下拉菜单。我想要搬回家。我已经修改了几次navigation.xml文件并导致致命错误。
我需要什么xml标记来促进家庭孩子作为父级菜单?因为在我根本不需要主页按钮。
期望的结果:
- 谁
- 为什么
- 什么
- 扬声器
- 资源
当前结果:
家
•谁
•什么
•何时
•为什么
当前navigation.xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<configdata>
<nav>
<home>
<label>Home</label>
<controller>page</controller>
<action>index</action>
<module>default</module>
<pages>
<why>
<label>why</label>
<controller>page</controller>
<action>why</action>
<module>default</module>
</why>
<who>
<label>who</label>
<controller>page</controller>
<action>who</action>
</who>
<resources>
<label>resources</label>
<controller>page</controller>
<action>resources</action>
</resources>
<signin>
<label>sign in</label>
<controller>account</controller>
<action>login</action>
<module>default</module>
</signin>
</pages>
</home>
</nav>
...
应用/ bootstrap.php中:
<?php function _initViewHelpers() {
$this->bootstrap('layout);
// ... Skipping to relevant part
$navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
$navContainer = new Zend_Navigation($navContainerConfig);
$view->navigation($navContainer);
} ?>
布局/ default.phtml
<div class="navigation"><?php print $this->navigation(); ?></div>
答案 0 :(得分:1)
setMaxDepth()
和setMinDepth()
怎么样?您可以设置要渲染菜单的深度:
<?= $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(2)
->render() . PHP_EOL; ?>
此外,您还可以找到有关navigation view helper in the official manual的更多信息。这些信息通常比教程中的信息更具相关性。
答案 1 :(得分:1)
您应该只需调整容器即可只显示您想要显示的链接。在这种情况下,您只需从xml文件中删除Home
元素。
<?xml version="1.0" encoding="UTF-8" ?>
<configdata>
<nav>
<pages>
<why>
<label>why</label>
<controller>page</controller>
<action>why</action>
<module>default</module>
</why>
<who>
<label>who</label>
<controller>page</controller>
<action>who</action>
</who>
<resources>
<label>resources</label>
<controller>page</controller>
<action>resources</action>
</resources>
<signin>
<label>sign in</label>
<controller>account</controller>
<action>login</action>
<module>default</module>
</signin>
</pages>
</nav>
答案 2 :(得分:1)
<?xml version="1.0" encoding="UTF-8" ?>
<configdata>
<nav>
<why>
<label>why</label>
<controller>page</controller>
<action>why</action>
<module>default</module>
</why>
<who>
<label>who</label>
<controller>page</controller>
<action>who</action>
</who>
<resources>
<label>resources</label>
<controller>page</controller>
<action>resources</action>
</resources>
<signin>
<label>sign in</label>
<controller>account</controller>
<action>login</action>
<module>default</module>
</signin>
</nav>
答案 3 :(得分:0)
从XML文件中删除主菜单时,会出现异常
Zend_Navigation_Exception:无效参数:无法确定要在第235行的C:\ www \ project \ library \ Zend \ Navigation \ Page.php中实例化的类