Zend_Navigation:如何管理菜单项?

问题描述

| 我有这样的菜单
item1
 - item1.1
    - item 1.1.1
    - item 1.1.2
    - item 1.1.3
 - item1.2
    - item 1.2.1
    - item 1.2.2
item2
 - item2.1
 - item2.2
我设置`setonlyActiveBranch(true); 如果我选择item.1.1.1或item.1.1,我会得到一个
item1
 - item1.1
    - item 1.1.1
    - item 1.1.2
    - item 1.1.3
同时,如果我按item1,我得到了这个:
item1
 - item1.1
 - item1.2
如果当前节点处于活动状态,我不想隐藏其他根节点。 那么如何以这种方式显示菜单(例如,如果我选择item1.1)?
item1
 - item1.1
    - item 1.1.1
    - item 1.1.2
    - item 1.1.3
 - item1.2
item2
是否可以通过标准方法实现它,还是应该创建新的助手?     

解决方法

        {get | set} RenderParents()获取/设置一个标志,该标志指定仅在渲染容器的活动分支时是否应渲染父对象。如果设置为FALSE,则仅显示最深的活动菜单。 http://framework.zend.com/manual/zh/zend.view.helpers.html     ,        使用导航视图帮助器的标准方法是不可能的,这是不幸的,因为这是常见的情况。 但是,ZF开发人员应该记住一些案例问题,这可能就是为什么它没有实现的原因。 这种情况是如果您要显示非活动分支到第二级。
Item 1 - active
  Item 1.1 - active
    Item 1.1.1 - active
    Item 1.1.2
  Item 1.2
Item 2
  Item 2.1
  Item 2.2
您可能还希望有其他情况,仅显示主要项目,而仅显示活动分支。
Item 1 - active
  Item 1.1 - active
    Item 1.1.1 - active
    Item 1.1.2
Item 2
我已经解决了渲染整个菜单并用CSS隐藏非活动分支的问题。 但是您可能希望限制标记,因此必须制作自定义渲染器。