2012-07-24 59 views
0

當使用Zend導航時,我有一個先決條件會導致我出現問題。一個簡單的例子就是一個系統,它有一個像「專輯」這樣的數據庫實體,用戶需要一個「列表」,「添加」,「編輯」和「刪除」頁面。菜單系統中包含「列表」和「添加」頁面,但特定於「專輯」的「編輯」和「刪除」頁面從「列表」頁面鏈接到該頁面。Zend導航:爲導航層次結構中的動作定義活動分支

問題是,導航到「編輯」或「刪除」頁面導致「相冊」菜單分支變爲不活動狀態。顯然這是因爲這些頁面不在導航層次結構中。

我在尋找:

  1. 擺在導航層次結構這些網頁,但不能顯示它們的好方法。
  2. 一種從控制器中定義當前活動分支的方法,以便我可以保持菜單的相應分支處於活動狀態。
  3. 一種方法我沒有想到它會完成這個。

感謝

回答

0

確定一個可能的解決方案,因爲發帖的問題,從上面的潛在方法走下去的路線1中。

在創建菜單容器使用「visible'property如

array(
     'label'  => 'Edit Vehicle', 
     'action'  => 'update', 
     'controller' => 'vehicle', 
     'route'  => 'update-vehicle', 
     'visible' => false 
    ), 
    ... 

的每一頁,應在生成適當的目的,菜單中的‘活躍’的行爲,但不適合顯示。

然後,在局部產生菜單測試

$page->isVisible 

,並相應地作出反應。但這是規定的方法嗎?