我在导航和acl方面遇到了一些麻烦,说菜单中的权限不受尊重。 我有一个带菜单的xml配置文件。在我的bootstrap中,我将菜单初始化为:
protected function _initNavigationXml() {
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml');
$navigation = new Zend_Navigation($config);
$view->navigation($navigation)->setAcl($this->_acl)->setRole($this->_auth->getIdentity()->role);
}
由于菜单的特殊格式,我必须将其显示在部分phtml文件中,例如:
<?php
$partial = array('sidemenu.phtml', 'default');
$this->navigation()->menu()->setPartial($partial);
echo $this->navigation()->menu()->renderPartial();
?>
菜单显示效果不错,但资源不受尊重。
添加以下
echo $this->navigation()->menu()->renderMenu();
<$>在$ partial之前,菜单正确且资源得到尊重。
任何帮助或进一步的问题将不胜感激;)
问候
安德烈
答案 0 :(得分:2)
renderMenu()
方法包括在给定您设置的ACL权限的情况下检查页面是否可见的代码。据我所知,如果你使用renderPartial()
,你需要自己处理ACL检查。