我正在一个地方渲染 Zend Navigation 对象的顶级元素,如下所示:
echo $this->navigation()->menu()->setMaxDepth(0);
如何为活动分支呈现从第二级向下的导航树?我尝试创建一个循环的部分$this->container
对象,但我不知道如何确定当前项目是否是活动分支。一旦我确定它是活动分支,如何呈现菜单?我这样做是否很困难并且错过了一些明显的事情?
Thanks!
UPDATE:
我接受了一个解决方案,因为这就是我使用的解决方案,但我也想提供我的实际问题的答案,以供参考。 ($this
是视图对象)
// Find the active branch, at a depth of one
$branch = $this->navigation()->findActive($this->nav, 1, 1);
if (0 == count($branch)) {
// no active branch, find the default branch
$pages = $this->nav->findById('default-branch')->getPages();
} else {
$pages = $branch['page']->getPages();
}
$this->subNav = new Zend_Navigation($pages);
$this->subNav
然后可用于呈现子菜单。
如果我答对了你的问题,我就是这样做的:
print $this->navigation()->menu()->renderMenu(null, array(
'minDepth' => 1,
'maxDepth' => 1,
'onlyActiveBranch' => true,
'renderParents' => false));
仅呈现当前活动菜单的子菜单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)