2011-06-11 76 views
0

我試圖找出最好的方式來跟蹤我的導航一個網站即時通訊工作。Zend Naviagtion /菜單

我已經使用Zend導航來顯示帶下拉菜單的頂層菜單。這工作正常。不過,我也想跟蹤直接適用於上述菜單顯示的單個項目/模型的菜單項目。比如我現在的菜單。

<nav> 
    <job> 
    <label>Jobs</label> 
    <resource>job</resource> 
    <controller>job</controller> 
    <action>list</action> 
    <pages> 
     ..... 
    </pages> 
    <job> 
</nav> 

這適用於處理不屬於數據庫中特定記錄的「菜單」。可以跟蹤在單個記錄上執行的「操作」。這些額外的項目不應在主導航中呈現,因爲它們只具有特定ID的上下文,但在查看記錄時可以呈現爲菜單。

所以也許喜歡:

<nav> 
    <resource> 
    <menu items to be rendered without specific context> 
     <possible submenu items> 
     </possible submenu items> 
    </menu items to be rendered without specific context> 
    <menu items to be rendered inside a specific context(like viewings a record)> 
     <view></view> 
     <edit></edit> 
     <invoice></invoice> 
    </menu items to be rendered inside a specific context(like viewings a record)> 
    </resource> 
</nav> 

我想我可以有我的上下文中的具體菜單項單獨的.xml,但我想,以保持組合在一起的資源。

+1

你可以給你的問題一個更具描述性的標題嗎? – 2011-06-12 10:16:00

回答

0

所以你想要一個下鑽菜單嗎?你可以用CSS輕鬆完成。例子:(我更喜歡數組,但你可以調整)。

創建您的導航像往常一樣,但確保您設置的子項目每個動作:

$menu = array(
    array(
     'label' => 'Add Booking', 
     'module' => 'booking', 
     'controller' => 'admin', 
     'action' => 'addBooking', 
     'route' => 'default', 
     'pages'=>array(
      array(
       'label'=>'test', 
       'module' => 'booking', 
       'controller' => 'admin', 
       'action' => 'anotheraction', 
      ) 
     ) 
    ) 
); 

CSS:

ul.navigation li ul li { 
    display:none; 
} 
ul.navigation li.active ul li { 
    display: block; 
} 

只要你正確設置參數父頁面它將會正常工作。

+0

不,我希望能夠在某些情況下使用zend導航 – John 2011-06-12 20:17:29

+0

Zend導航接受多種類型的數據,數組是一個。正如我所說的,你可以忽略我的數組示例,它只是顯示瞭如何正確地嵌套頁面。 CSS是你需要的。 – Ashley 2011-06-13 11:47:26