УрокНемного о выводе меню через шаблон
Поговорим немного о том, как выводить меню через тему. Обычно это выводится через файл 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.
- Spleshka
- 31.08.2010
- 14480
Комментарии
И дописываем последний абзац
Если нам надо поменять вывод ссылок, то нам понадобится функция theme_menu_item() ...
Ага, забыл написать. Спасибо большое
Подскажите как переопределить вывод только определенного меню ? темизация функций theme_menu_item() и theme_links() применяется сразу ко всем меню
написать свою функцию вывода меню) Можно воровать из theme_menu_links, только добавив туда нужный вам код
Спасибо, очень помогли.
Не подскажете, как зделать так, чтобы созданное меню при разворачивании не опускало все содержимое вниз, чтобы список подразделов открывался поверх контента.
CSS - пока еще жив !!!
Здравствуйте! Подскажите пожалуйста, как можно вывести в теме меню собранное на http://purecssmenu.com/ возможно ли это?
Комментировать