我已经发布了对我的问题的编辑。在处理它时,我注意到这个问题很容易简化。我需要我的子菜单的自定义格式,所以我必须使用部分。但随后问题就出现了。
下面的代码显示了不正确的级别(0):
echo $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(1)
->setRenderParents(false)
->setOnlyActiveBranch(true)
->renderPartial(null, array('partials/menu.phtml', 'default'));
下面的代码显示了正确的菜单级别 (1)
echo $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(1)
->setRenderParents(false)
->setOnlyActiveBranch(true)
->render();
有任何想法吗?伙计们请。我将不胜感激任何帮助!
编辑
我的部分/menu.phtml:
foreach ($this->container as $page)
{
$active = $page->isActive();
echo '<div class="item">';
echo '<a class="'. ($active ? 'active' : '') .'" href="' . $this->baseUrl($page->getHref()) . '">' . $page->getLabel() . '</a>';
echo '</div>';
}
编辑 2
我对 Zend_Navigation 的理解是,首先准备容器,然后将其通过部分。
$nav = $this->navigation()->menu()->setOnlyActiveBranch(true)->getContainer();
echo $this->navigation()->menu()->renderPartial($nav, array('/partials/menu.phtml', 'default'));
在容器中设置 set{Min/Max}Depth, parentRendering 的意义何在?