УрокНемного о выводе меню через шаблон

Поговорим немного о том, как выводить меню через тему. Обычно это выводится через файл page.tpl.php вот такой строкой кода:

<?php echo theme('links', $primary_links); ?>

Если нам надо поменять вывод ссылок, то нам понадобится функция theme_links(), которую можно найти в файле theme.inc в папке drupal/includes. Достаточно запихнуть эту функцию в файл template.php своей темы, изменив название theme_links на имяТемы_links - и подхватываться будет именно ваше выполнение этой функции, а не дефолтное.

Прошу обратить внимание, что вывод через theme('links', $primary_links) выводит только верхний уровень меню. Чтобы вывести меню со всеми его дочерними элементами, надо воспользоваться функцией menu_tree('primary-links'), то есть написать

<?php echo menu_tree('primary-links'); ?>

Если надо поменять вывод этой функции - разбираем theme_menu_item(). Абсолютно аналагично можно вывести любое меню, включая secondary links.

Комментарии

Аватар пользователя Тайный поклонник
Тайный поклонник написал:

И дописываем последний абзац

Если нам надо поменять вывод ссылок, то нам понадобится функция theme_menu_item() ...

06.09.2010 13:46
Аватар пользователя Spleshka
Spleshka написал:

Ага, забыл написать. Спасибо большое

06.09.2010 14:18
Аватар пользователя Евгений
Евгений написал:

Подскажите как переопределить вывод только определенного меню ? темизация функций theme_menu_item() и theme_links() применяется сразу ко всем меню

12.11.2010 10:51
Аватар пользователя Spleshka
Spleshka написал:

написать свою функцию вывода меню) Можно воровать из theme_menu_links, только добавив туда нужный вам код

12.11.2010 14:53
Аватар пользователя Тайный поклонник
Тайный поклонник написал:

Спасибо, очень помогли.
Не подскажете, как зделать так, чтобы созданное меню при разворачивании не опускало все содержимое вниз, чтобы список подразделов открывался поверх контента.

24.08.2011 09:10
Аватар пользователя Znaem.net
Znaem.net написал:

CSS - пока еще жив !!!

06.12.2011 09:53
Аватар пользователя Георгий
Георгий написал:

Здравствуйте! Подскажите пожалуйста, как можно вывести в теме меню собранное на http://purecssmenu.com/ возможно ли это?

09.09.2013 16:24

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