it-swarm-tr.com

Tüm iç içe menü bağlantılarını Drupal 7)

Yuvalanmış tüm bağlantıları Drupal 7 biçiminde <ul><li> Biçiminde nasıl görüntülerim? Varsayılan kod, iç içe olarak Drupal admin menüsünde düzenlenmiş olmalarına rağmen yalnızca 1. düzey bağlantıları görüntüler:

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

Ff'de yalnızca 1. seviye görüntülenir. menü ayarları:

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

$main_menu İçindeki varsayılan page.tpl.php Değişkeni, ana menü ağacının bağlamsal bir görünümü olan menu_main_menu() olarak ayarlanmıştır.

İstediğiniz çıktıyı elde etmek için, menu_tree_all_data() ve menu_tree_output() kullanarak menü ağacının tamamını almanız gerekir.

Bunu temanızda yapmak için, henüz yapmadıysanız template.php Oluşturun ve sayfa şablonu için yeni bir önişleme işlevi ekleyin:

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);
}

Ardından, page.tpl.php İçinde şunları kullanabilirsiniz:

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

ana menünün genişletilmiş, iç içe sırasız bir listesini almak için.

Biraz daha esneklik için, ile genişletilmiş menülerden bloklar oluşturmanıza olanak tanıyan Menu Block modülünü göz önünde bulundurmak isteyebilirsiniz. ağaç seçeneğinin yanı sıra menü ağaçlarını bölümlere ayırmak için diğer seçeneklerin bir Ana Bilgisayarı.

23
user7

Ayrıca, menünün gerekli kısımlarını gösteren isteğe bağlı sayıda özelleştirilmiş blok oluşturmaya izin veren bir menu_block modülü var.

0
Dmitry Vyal