Zend_Navigation渲染子菜单

时间:2011-02-15 21:33:29

标签: php zend-framework zend-navigation

我有以下Zend_Navigation配置

-Item1
-Item2
   |---SubItem2 1
   |---SubItem2 2
   |---SubItem2 3 (Visible = false)
-Item3
   |---SubItem3 1
   |---SubItem3 2
-Item4
   |---SubItem4 1

现在,在应用程序中,只要用户在SubItems(visible = true)上,子菜单就会正确呈现。但是每当用户在“SubItem2 3”之类的invisibale页面上时。子菜单无法呈现。

我可以通过执行setRenderInvisible()来渲染面包屑,并且它可以正常工作。

我无法渲染子菜单。

以下是我用来渲染菜单和子菜单的代码。

它位于布局文件中。

           <div id="top-nav-menu">
           <?php echo $this->navigation()->menu()->setMaxDepth(0)->setUlClass('topNav'); ?>
       </div>
       <div class="clear"></div>

       <div id="sub-nav-menu">
            <?php echo $this->navigation()->menu()->setMaxDepth(1)->setMinDepth(1)->setOnlyActiveBranch(true)->setUlClass('subNav') ; ?>
            <p style="display:inline;">&nbsp;</p>
       </div>

赞赏任何信息/指示。

谢谢,

1 个答案:

答案 0 :(得分:1)

好的,能够通过其他问题的一些信息来解决这个问题:Zend_Navigation with hidden Pages

主要问题是当visible = false时,没有活动页面。结果,没有呈现菜单项。所以现在在控制器帮助器中,除了在另一个线程中建议的内容之外,我还检查是否有任何页面处于活动状态。如果没有页面处于活动状态,我将默认页面设置为活动状态,菜单呈现正常。

希望这有助于某人。谢谢!