编程语言
首页 > 编程语言> > php – 仅在菜单中呈现Zend_Navigation对象的一部分

php – 仅在菜单中呈现Zend_Navigation对象的一部分

作者:互联网

我的布局中有很多导航菜单.主菜单和子菜单.

单击主菜单上的项目时,它会显示哪个项目处于活动状态.在子菜单中加载页面时,主菜单会丢失其上下文,并且不会显示哪个项目处于活动状态.

我已经使用XML配置文件配置了我的导航,这正在我的Bootstrap.php中读取

$navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'home');
$navContainer = new Zend_Navigation($navContainerConfig);
$this->view->navigation($navContainer);

$layout = $this->bootstrap('layout')->getResource('layout');
$layout->getView()->navigation($navContainer);

然后在我的控制器中生成一个子树菜单:

$subTree = $this->view->navigation()->findOneById('settings_index');
$this->view->subTree = $subTree;

在我的布局中,我有主导航,并显示了子树:

//main menu
echo $this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));

// ... some stuff ....

//subtree menu
echo $this->navigation()->menu()->renderMenu($this->subTree,array('maxDepth' => 0,'ulClass'=>'nav_sub'));

如何在布局中显示子菜单而主菜单不会丢失它的上下文?

解决方法:

尝试下一步

// main menu
echo $this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));

// sub menu
echo $this->navigation()->menu()->renderMenu(null,array('minDepth' => 1, 'maxDepth'   =>  1));

两个菜单都应该有适当的“活动”类.

标签:php,zend-framework,zend-navigation
来源: https://codeday.me/bug/20190711/1432956.html