Кастомизация меню Drupal 7

Главные вкладки

Аватар пользователя tsybulskyserg tsybulskyserg 28 января 2011 в 1:35

Добрый вечер уважаемые гуру Drupal`a! У меня возник вот такой (как по мне) интересный вопрос. Как кастомизировать User Menu (или даже неважно какое именно меню) Drupal`a? Что я понимаю под "кастомизировать"? Ну хотя бы как добавить к каждому пункту меню свою картинку (которую можно было бы загружать и выбирать из админки).
Я только начал изучать Drupal. До этого активно использовал Wordpress и Joomla. И мне сейчас кажется что Drupal это просто отличная CMF для разработки, но когда столкнулся с такой проблемой и не найдя в просторах www никакого ответа, весьма огорчился(((.
Для того что бы понять для чего это нужно приведу пример поставленной передо мной задачи. Есть главное меню на сайте, так вот по hover`у на каждом из пунктов меняется фон всей страницы. Причем должна быть возможность загрузить для каждого пункта меню этот самый фон.
Как по мне так с этой задачей мог уже кто то сталкиваться, может что то подскажите?
Да и напоследок возник вопрос, почему меню не сделали типом контента??? тогда его можно было бы CCK полями наполнять. В общем для меня непонятно...
P.S. я говорил о Drupal 7
Заранее огромное спасибо всем, кто откликнется!!!

Комментарии

Аватар пользователя andypost@drupal.org andypost@drupal.org 28 января 2011 в 6:32

1. меню - это необязательная связь обработчика (menurouter) и именованных текстов (menulink)... и что из них считать филдабельным? Smile

2. пункт выводимого меню имеет свои theme и alter функции, так что сабж нужно решать именно на уровне темы. Вероятно дописать JS для достижения нужного эффекта

Аватар пользователя tsybulskyserg tsybulskyserg 28 января 2011 в 10:19

"<a href="mailto:andypost@drupal.org">andypost@drupal.org</a>" wrote:

1. меню - это необязательная связь обработчика (menurouter) и именованных текстов (menulink)... и что из них считать филдабельным? Smile

2. пункт выводимого меню имеет свои theme и alter функции, так что сабж нужно решать именно на уровне темы. Вероятно дописать JS для достижения нужного эффекта


Спасибо, буду копать в этом направлени!

Аватар пользователя alphaweb alphaweb 8 мая 2011 в 3:27

по вашей задаче понял, что вам нужна обыкновенная темизация элементов меню (menu items)
делается это в теме, в файле template.php

function вашаТема_menu_link($link) {
...
}

для темизации мелочей подойдет...

можно пользовать вашаТема_preprocess_menu_link(&$vars) попробовать... однако это только препроцесс (также для темизации мелочей может подойти), но это не окончательная темизация...

можно пользоваться не встроенными функциями темизации для элементов меню, а объявить свои функции темизации со своими параметрами и шаблоном и пользовать их...