Добавить в menu block функционал jquerymenu
Привет.
Модуль jquerymenu позволяет сделать удобное меню для сайдбара - с разворачиванием подпунктов меню без перезагрузки страницы, но при этом у него есть один существенный недостаток - нельзя указать, с какого подпункта меню начинать вывод, и его глубину.
Этого недостатка лишен модуль menu block, но он лишен функционала jquery.
Итак, скрещиваем ужа с ежом.
В файле template.php своей темы добавляем функции:
$class = ($menu && $in_active_trail ? 'parent open' : ($has_children ? 'parent closed' : 'leaf')); // Для того, чтобы
// menu_block выводил на страницу все подпункты меню, а не только верхнего уровня
// (а то разворачивать будет нечего), нужно либо в настройках меню, либо в настройках
// блока menu_block раскрыть все подпункты меню, но в таком случае оно будет изначально
// выводиться на страницу полностью раскрытым, что не есть хорошо. Здесь всем пунктам
// меню назначается класс closed, кроме тех, которые in_active_trail
// if (!empty($extra_class)) { Тут добавляются дополнительные классы,
// $class .= ' '. $extra_class; вроде lirst, last, menu-его номер
// } мне они без надобности, поэтому отключаю
if ($in_active_trail) { // Добавляется класс active-trail
$class .= ' active-trail'; // чтобы меню разворачивалось до
} // активного пункта