Zend_Navigation 渲染子菜单

发布于 2024-10-17 07:49:15 字数 982 浏览 2 评论 0原文

我有以下 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”等隐形页面时。子菜单不呈现。

我可以通过执行 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>

任何信息/指示表示赞赏。

谢谢,

I have the following Zend_Navigation config

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

Now, in application, whenever the user is on SubItems (visible = true), the submenu renders correctly. But whenever the user is on invisibale page like "SubItem2 3". The submenu does not render.

I can render the breadcrumbs by doing setRenderInvisible() and it works.

I was not able to render the submenu.

Following is the code I use to render the menu and sub-menu.

It is in the layout file.

           <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;"> </p>
       </div>

Any information/pointers are appreciated.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无边思念无边月 2024-10-24 07:49:15

好的,能够使用其他问题中的一些信息解决此问题: Zend_Navigation with hide Pages

主要问题是当visible = false时,没有活动页面。因此,没有呈现任何菜单项。因此,现在在控制器助手中,除了其他线程中建议的内容之外,我还检查是否有任何页面处于活动状态。如果没有活动页面,我将默认页面设置为活动状态,并且菜单呈现良好。

希望这对某人有帮助。谢谢!

Alright, was able to resolve this with some information from another questions: Zend_Navigation with hidden Pages

The main issue was that when visible = false, there was no active page. As a result of this, no menu items were rendered. So now in a controller helper, apart from what is suggested in the other thread, I also check if any page is active. If no page is active, I set the default page as active and menu renders fine.

Hope this helps someone. Thanks!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文