2010-09-10 39 views
0

創建動態菜單我想創建一個動態菜單,將獲得它從某個節點類型的項目。我認爲我可以通過創建標題視圖並將其放在一個塊中來實現。然而,當有人點擊這些標題我想強調它的一個,所以想加入活性類鏈接的方式。我知道Drupal自動爲菜單執行此操作,但是我可以爲基於視圖的菜單執行此操作嗎?的Drupal的工作路徑屬性

回答

0

爲什麼不連同hook_form_alter使用安卓想法?像這樣的東西會工作:

假設你的內容類型被稱爲「爲myContent」:

在設置菜單允許家長只包括您想要的菜單內容類型設置,我們把它叫做「定製」 。在你的模塊文件中添加以下代碼:

mymodule_form_alter(&form, &$form_state, $form_id){ 
    if($form_id=="mycontent_node_form"){ 
    $form['menu']['enabled']['#default_value'] = 1; 
    $form['menu']['link']['parent']['#default_value'] = "menu-custom:0"; 
    } 
} 

所以,$ form_id應該等於 「[my_content_type] _node_form」,和家長的默認值應等於 「菜單 - [my_menu]:0」

如果你擔心用戶不將他們的內容的菜單,這條線會奪走他們的形式項目的控制:

$form['menu']['#disabled']=true; 
+0

三分球你好,非常感謝您的文章。這聽起來像是一個很好的辦法。似乎它也可以解決我自動向菜單添加新內容的問題。 – Ben 2011-03-10 10:07:59

0

我不是真正確定自己的「動態菜單」的要求,但在視圖中,冠軍的替代可能是建立一個自定義菜單,那麼當你創建這些節點,將它們設置爲一部分在節點編輯窗體中顯示該菜單。然後在該塊中顯示該菜單並且您應該可以突出顯示所需的活動項目。

+0

嗨安德魯,感謝您抽出時間來回答我的問題。我所需要的菜單,自動生成鏈接,如果人們創造了一個新的頁面,所以我不能用一個標準的菜單。我通過使用標題視圖解決了這個問題。這些實際上自動包括一個活躍的類,我沒有意識到他們做了。 – Ben 2010-09-16 14:52:22