Вопросlinks__system_main_menu более одного уровня

Пару месяцев назад решил эту задачу .

В этот раз перерыл все закладки , не нашел .

Необходимо добавить второй уровень для links__system_main_menu при выводе через page.tpl.php .

Подскажите пожалуйста .

Комментарии

Аватар пользователя sergeybelya
sergeybelya написал:

http://drupal.org/project/menu_block

03.10.2012 23:21
Аватар пользователя Гость
Гость написал:

Спасибо конечно , но я это делал 2-3 функциями .

С таким же успехом можно использовать и другие модули .

04.10.2012 09:49
Аватар пользователя sergeybelya
sergeybelya написал:

А что вас смущает в использовании модулей. Создаете блок меню, настраиваете нужные уровни, выводите его в нужном регионе и все. Займет пару минут.

04.10.2012 11:29
Аватар пользователя Гость
Гость написал:

В том-то и дело , что тема нужна без посторонних модулей .
Я еще и супер фиш использую , но опять же не модуль , а просто библиотеку .

В прошлый раз у меня ушло чуть меньше недели на поиск описаний .
Сейчас не могу найти проект в котором это реализовано , он не просто существует , а крутится в сети . Легче найти описание , чем перерыть все проекты .

04.10.2012 12:08
Аватар пользователя sergeybelya
sergeybelya написал:

Заинтересовался и не поленился зайти на api.drupal.org. Решил с помощью кода

print render(menu_tree_output(menu_tree_page_data('main-menu', $max_depth = NULL, $only_active_trail = FALSE)));

04.10.2012 13:07
Аватар пользователя ice
ice написал:

Спасибо за старания , мне удалось частично вспомнить .

Вывод записан по другому .

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

Ну и для изменения структуры пару функций .

function имя-темы_menu_tree__main_menu($variables) {
  return '<ul>' . $variables['tree'] . '</ul>';
}
function имя-темы_menu_link__main_menu(array $variables) {
  $element = $variables['element'];
  $sub_menu = '';
  if ($element['#below']) {
    $sub_menu = drupal_render($element['#below']);
  }
  $output = l('<span>'.$element['#title'].'</span>', $element['#href'], $options = array('html' => TRUE));
  return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
04.10.2012 16:15
Аватар пользователя Роман
Роман написал:

Спасибо, Ice. Сейчас очень и очень помогли. Не мог применить разные стили к разным меню на сайте. Оказалось просто, что для "main-menu" можно прописать специально функции имя-темы_menu_tree__main_menu и имя-темы_menu_link__main_menu, а другое меню будет выводиться через menu_tree, заданное по умолчанию.

11.10.2012 19:35
Аватар пользователя PVasili
PVasili написал:
24.10.2013 17:57

Комментировать