it-swarm-ko.tech

Drupal 7에 모든 중첩 메뉴 링크 표시

Drupal 7)의 <ul><li> 형식으로 모든 중첩 링크를 표시하는 방법 기본 코드는 Drupal 중첩 된 관리자 메뉴 :

<?php if ($main_menu): ?>
<div id="mainmenu"> <?php print theme( 'links__system_main_menu', array('links' => $main_menu) ); ?> </div>
<?php endif; ?>

Ff에는 첫 번째 레벨 만 표시됩니다. 메뉴 설정 :

-Fruits
---Apples
---Oranges
---Lemons
-Cars
---Big car
---Small car
---Fucked up car
-Whatever
6
enchance

$main_menu의 기본 page.tpl.php 변수는 기본 메뉴 트리의 상황에 맞는보기 인 menu_main_menu() 으로 설정되어 있습니다.

원하는 출력을 얻으려면 menu_tree_all_data()menu_tree_output() 을 사용하여 전체 메뉴 트리를 가져와야합니다.

테마에서이를 수행하려면 template.php를 작성하지 않은 경우 작성하고 페이지 템플리트에 대한 새 사전 처리 기능을 추가하십시오.

function THEMENAME_preprocess_page(&$variables) {
  // Get the entire main menu tree
  $main_menu_tree = menu_tree_all_data('main-menu');

  // Add the rendered output to the $main_menu_expanded variable
  $variables['main_menu_expanded'] = menu_tree_output($main_menu_tree);
}

그런 다음 page.tpl.php에서 다음을 사용할 수 있습니다.

<?php print render($main_menu_expanded); ?> 

기본 메뉴의 확장 된 중첩 정렬되지 않은 목록을 가져옵니다.

좀 더 융통성있게하기 위해 메뉴 블록 모듈을 고려할 수 있습니다.이 모듈을 사용하면 모든 하위 확장으로 상자에서 확장 메뉴 블록을 만들 수 있습니다 이 트리 옵션뿐만 아니라 메뉴 트리를 분할하기위한 다른 옵션의 호스트.

23
user7

또한 메뉴의 필요한 부분을 보여주는 임의의 양의 맞춤형 블록을 만들 수있는 menu_block 모듈이 있습니다

0
Dmitry Vyal