Home → Drupal →

Программный вывод меню с дочерними элементами в шаблоне

Опубликовано в пт, 10/09/2015 - 09:53

Миллион раз встаю на грабли, что при выводе в шаблоне главного меню, используя кусок кода из эталонного page.tpl.php, который лежит в modules/system, а именно:

<?php
         
print theme('links__system_main_menu', array('links' => $main_menu, 'attributes' => array('id' => 'main-menu', 'class' => array('links', 'inline', 'clearfix')), 'heading' => t('Main menu'))); 
?>

не выводятся дочерние элементы меню, хотя в настройках меню (admin/structure/menu/manage/main-menu) у пунктов стоят галочки "Показывать раскрытым". В общем если у вас такая же проблема, то воспользуйтесь функцией menu_tree и замените вышеописанный кусок кода на:

<?php
print render(menu_tree('main-menu')); 
?>

где main-menu - это название меню.

Конечно же в настройках меню должны стоять галочки "Показывать раскрытым".

UPD: если сайт на хостинге выдает ошибки, ссылаясь на строчку с выводом print render(menu_tree('main-menu')); , то уберите menu_tree('main-menu') в переменную, а ее уже рендерьте:

<?php
$var 
= menu_tree('main-menu');
print 
render($var); 
?>
Drupal 7
меню
theme
drupal api
page.tpl.php
menu_tree

Menu

  • Главная
  • О блоге

Category

Drupal
(15)
Php
(4)
Верстка
(2)
Разное
(2)
lakshtori.ru (Лакштори,luckshtory) - бренд мошенников
© by Conocube / Блогу - 3970 дней