Привет, всем разработчикам и просто любителям друпал. Собираю себе любительский сайт, делаю все максимально удобно. Возникла задача сделать вот так:
ВОПРОС:
стандартными методами у меня в блоке получается меню в виде:
Блогов
-- мой блог
-- твой блог
Сайтов
-- мой сайт
-- твой сайт
-- наш сайт
ЗАДАЧА:
выводить число дочерних меню к примеру в меню "У Вас" – два дочерних меню.
Желаемая структура:
Блогов [2]
-- мой блог
-- твой блог
Сайтов [3]
-- мой сайт
-- твой сайт
-- наш сайт
Подскажите где перехватывать код и как правильней. Зарание спасибо!
Комментарии
Зря ты так, переформулируй вопрос, тут люди знающие уж больно к этому придирчивы, а у тебя совсем не понятно чего ты хочешь )Ну, я, конечно, в друпале без году неделя, но раз других предложений всё равно нет... Заодно апну тему, може кто из гуру поругает и всему научит )))
Нашёл страшную вещь - theme_menu_item_link
Пошёл в \themes\garland\template.php и дописал в конце скопипащенную реализацию, переименовав в phptemplate_menu_item_link, по имени используемого енжина:
<?php
dpm($link); // а вот тут решил посмотреть, что за зверь этот $link (для dpm нужен модуль devel. Ну, думаю, простой var_export() тоже позволит посмотреть)
return l($link['title'] . '*', $link['href'], $link['localized_options']); // а тут к тайтлу добавил звёздочку, чтобы удостовериться, что функция прооверрайдилась
function phptemplate_menu_item_link($link) {
if (empty($link['localized_options'])) {
$link['localized_options'] = array();
}
}
?>
Ну и увидел кучу интересного. Например у $link есть ['menu-name'], чтобы можно было отсечь только интересующие тебя блоки меню. А ещё есть ['has_children'], чтобы понять, ветка это или уже лист.
Собссно, если этот способ подойдёт - то дальше уже можно обсудить, как посчитать количество детишек у данного раздела меню и вывести вместо звёздочки.