php - 只渲染菜单中的 Zend_Navigation 对象的一部分

标签 php zend-framework 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);

然后在我的 Controller 中生成一个子树菜单:

$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_Navigation 对象的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33594565/

相关文章:

php - 在 zend 中,如何正确打印 mysql 查询?

php - 存储波兰语字符 utf8 学说 2 PHP, MySQL, Zend Framework

zend-framework - Zend 导航 : current page

php - Symfony 2 - 非捆绑库集成和定位

php - 如何删除 codeigniter 路径中的 "index.php"

zend-framework - 将 phpunit 更新到 3.6.3 版本后,assertRedirectTo() 失败

zend-framework - 带动态 URL 参数的 Zend_Navigation

php - Zend_Translate - Zend_Navigation 和 Routing 组合问题!

javascript - 不显示来自 JSON 数据的图表

php - Response 内容必须是实现 __toString() 的字符串或对象,移动到 psql 后给出的 "boolean"