簡體   English   中英

Zend_Navigation:如何管理菜單項?

[英]Zend_Navigation: how to manage menu items?

我有這樣的菜單:

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/en/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 隱藏非活動分支來解決這個問題。

但是您可能希望限制您的標記,因此您必須制作自定義渲染器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM