php – Zend Framework – 多板导航块
发布时间:2020-12-13 13:31:37 所属栏目:PHP教程 来源:网络整理
导读:我想使用导航助手使用Acl构建我的导航菜单. Acl部分我工作得很好. 我现在希望能够显示几种不同类型的导航.例如. admin-nav,side-nav,new-nav等.我在文档中找不到任何相关内容.仅限如何设置导航,然后在布局或视图中重复使用该导航对象. 我尝试了类似的东西 –
我想使用导航助手使用Acl构建我的导航菜单. Acl部分我工作得很好.
我现在希望能够显示几种不同类型的导航.例如. admin-nav,side-nav,new-nav等.我在文档中找不到任何相关内容.仅限如何设置导航,然后在布局或视图中重复使用该导航对象. 我尝试了类似的东西 – 有两个不同的容器,具有不同的页面数组,然后在注册表中设置这些容器.然后从我的视图和/或布局中调用导航并将其传递给容器: <?php echo $this->navigation(Zend_Registry::get("news-nav")) ?> 在我的新闻视图中调用上面的内容,在我的布局中调用以下内容 <?php echo $this->navigation(Zend_Registry::get("admin-nav")) ?> 除了新闻页面之外,这适用于我的所有页面.在我的新闻页面上,新闻导航显示两次,一次在布局中,一次在新闻视图中.管理员导航从不显示,似乎被新闻导航覆盖. 我可能会以完全错误的方式解决这个问题,如果是这样,请让我知道一个更好的方法.如果这种方法看起来不错,有人可以帮我理清新闻导航在布局和新闻视图中显示的原因. 谢谢你的时间 可靠的人
我有同样的问题.我只需在控制器中为我需要的每个菜单创建Zend_Navigation_Container的多个实例,将它们传递给视图,然后通过将对象直接传递给菜单渲染方法来渲染它们.如下:
在控制器中: $this->view->menu1 = new Zend_Navigation_Container(); $this->view->menu2 = new Zend_Navigation_Container(); 在视图中: $this->navigation()->menu()->renderMenu($this->menu1); $this->navigation()->menu()->renderMenu($this->menu2); 您甚至可以自定义每个(通过在初始menu()调用后插入方法调用: $this->navigation()->menu()->setUlClass('my_first_menu')->renderMenu($this->menu1); $this->navigation()->menu()->setUlClass('my_second_menu')->renderMenu($this->menu2); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |