2009-08-18 31 views
0

我想僅提取一部分導航菜單 - 管理菜單結構的一個部分。我可以加載整個導航菜單樹,但我看不到一個簡單的方法只是拉出它的一部分。只提取Drupal 6菜單的一部分

有沒有一種簡單的方法來做到這一點,還是我必須做一些哈克?

回答

0

我不確定我完全瞭解情況,但您可能想看看Menu Block Split,它允許您將導航級別拆分爲塊。這是從其項目頁面摘錄:

...將任何菜單塊分成兩個不同的塊:第一個塊只有第一級菜單條目,第二個塊有任何第二級和子級菜單條目。您可以根據需要安裝儘可能多的分割塊。

+0

看起來可能有效。謝謝,我會試試看 – ceejayoz 2009-08-21 13:16:18

1

看看功能menu_navigation_links。你傳遞一個菜單名稱(默認= 導航)和一個級別(默認= 0)。

+0

謝謝,但不是我在找什麼。我需要一種方法來爲不是根的樹指定一個根節點。 'menu_navigation_links'讓我無法只顯示'admin/content'及其子項。 – ceejayoz 2009-08-18 22:25:17

1

我發現這個here這對我的偉大工程。

<?php 
$menus = menu_tree_page_data(menu_get_active_menu_name()); //get menu tree for active menu 
    $output=''; 
    foreach($menus as $data) { 
     if(!empty($data['link']['in_active_trail'])){ 
     $link = theme('menu_item_link', $data['link']); 
     $extra_class = NULL; 
     if ($data['below']) { 
      $output .= theme('menu_item', $link, $data['link']['has_children'], menu_tree_output($data['below']), $data['link']['in_active_trail'], $extra_class); 
     } 
     else { 
      $output .= theme('menu_item', $link, $data['link']['has_children'], '', $data['link']['in_active_trail'], $extra_class); 
     } 
     } 
    } 
    return theme('menu_tree', $output); 
?>