Rendering Active Branch of Zend Navigation Without Top Level(渲染没有顶层的 Zend Navigation 的活动分支)
问题描述
我在一个地方渲染 Zend Navigation 对象的顶级元素,如下所示:
I am rendering the top-level elements of a Zend Navigation object in one place like this:
echo $this->navigation()->menu()->setMaxDepth(0);
如何为活动分支呈现从第二级向下的导航树?我已经尝试创建一个循环 $this->container 对象的部分,但我不知道如何确定我的当前项目是否是活动分支.一旦我确定它是活动分支,我该如何呈现菜单?我这样做是不是很困难并且遗漏了一些明显的东西?
How do I render the navigation tree from the second level on down for the active branch? I've tried creating a partial that loops the $this->container object, but I don't know how to determine if my current item is the active branch. Once I've determined that it's the active branch how do I render the menu? Am I doing this the hard way and missing something obvious?
谢谢!
更新:
我接受了一个解决方案,因为这是我使用的解决方案,但我也想提供我的实际问题的答案,以供参考.($this 是视图对象)
I accepted a solution because that's what I used, but I also would like to provide the answer to my actual question, for reference sake. ($this is the view object)
// 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 然后可用于呈现子菜单.
$this->subNav can then be used to render the sub-menu.
推荐答案
我做了类似的事情.我的主要导航是用这样的方式处理的...
I do something similar. My main navigation is handled with something like this...
$this->navigation()->menu()->setPartial('tabs.phtml');
echo $this->navigation()->menu()->render();
然后在我的 tabs.phtml 中,我像这样遍历容器...
Then in my tabs.phtml I iterate over the container like so...
if (count($this->container)) {
foreach($this->container as $page) {
if ($page->isVisible()) {
if ($page->isActive(true)) {
$subcontainer = $page->getPages();
foreach($subcontainer as $subpage) {
// echo my link
}
}
}
}
}
希望对你有所帮助.
这篇关于渲染没有顶层的 Zend Navigation 的活动分支的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:渲染没有顶层的 Zend Navigation 的活动分支
基础教程推荐
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何替换eregi() 2022-01-01
