Задумался над сабжем. Есть желание сделать из примари меню мультиуровневое (глубиной 2) и когда выбираем какой-то элемент, чуть ниже появляются дочерние пункты, но не просто как выпадающий список, а просто как развернутое, но в горизонтальном исполнении. Схема примерно такая:
Елемент1 Елемент2 .... ЕлементN
Дочернее1Елемента2 Дочернее2Елемента2... Дочернее3Элемента2
То есть сами пункты растягиваются по ширине, если элемент активен, то высвечивается ниже второе меню, подобное первому (растянутое по ширине, с переносом строк). Вроде задача тривиальна и ее можно решить, например, привязкой пунктов к другим, созданным руками менюшкам, которые просто расположить css где надо, но это как-то некошерно.
Есть ли решения? Модули? Хаки?
Комментарии
Superfish
Примерная схема работы такая:
Предусматриваем в теме оформления 2 горизонтальных меню, стоящих одно под другим. Подойдет тема mix and match
Ну а дальше, например модуль menu block.
http://drupal.org/project/menu_block
Подробнее сказать увы не могу.
VasyOK, к сожалению, данная тема имеет выпадающие менюшки. Ставить пока не стал, но на глаз по списку релейтед модулей это сборная солянка фьюжн кора, а там опционально ничего такого нема. Лопатить чужое - лучше свое написать уж тогда=)
А вот за menu_block спасибо, похоже на правду, будем изучать.
Суперфиш по сути тоже самое. Хотелось бы более узкое решение, нежели накатывание "офиса для редактирования текстового файла"
К тому же что тема, что суперфиш - это просто мультилевел меню выпадающее. там когда жмешь на дочерний пункт - активным не остается вроде все дочерние элементы (теряется тем самым наглядность)
Выпадающее меню в данной теме по умолчанию не работает. Можно там не ставить Primary links в теме оформления, а просто создать меню и указать для него, что пункты располагаются вертикально.
а при чем здесь вертикально? мне как бы горизонтально нужно=)
или там уже css-й выравнивать?
Извините. Горизонтально.
вот технический вопрос - как убрать сепараторы горизонтального меню |, которое добавляется средствами fusion core (Single line menu with separators в настройках блока)
и в принципе тема будет исчерпана
Эти сепараторы там заданы, как черточки от ячейки таблицы
Подрубите файл
Fusion\fusion_core\css\style.css
/*border-right-style: solid;
border-right-width: 1px; вот так убираем черточку*/
display: inline;
margin: 0;
padding: 0;
white-space: nowrap;
}
Итак, с помощью VasyOK, было найдено решение. Для того, чтобы сделать связанное горизонтальное меню с дочерними пунктами, располагающимися под родительским меню как аналогичное горизонтальное меню, нужно
1) Скачать модуль menu block
2) Скачать тему, основанную на superfish (fusion как база, acquia marina, mix and match итд)
3) Создать нужное меню, в блоках создать блок-меню, с помощью модуля из п1, указав уровень 1 для родительского, соответственно, добавить в меню родительские и дочерние элементы
4) Создать еще одно меню с уровнем 2, указав основоположником меню из п3
5) Расположить блок-меню в блоках где надо на сайте
6) Чтобы меню были горизонтальными, нужно в свойствах блока выбрать Single line menu with separators
7) При желании можно убрать сепаратор между пунктами меню:
/*border-right-style: solid;
border-right-width: 1px; вот так убираем черточку*/
display: inline;
margin: 0;
padding: 0;
white-space: nowrap;
}
Темизировать под себя css
Пометьте как [РЕШЕНО]
А без модуля неужели нельзя?
В частности само меню при создании отображается в админке, и там уже видно какой уровень у каждого пункта. Значит все эти возможности есть в друпале по умолчанию без всяких модулей. Надо только найти!
А покажите результат.
К сожалению пока на хостинги не перенесено
Можно проще - в гарланде есть такое меню по умолчанию. Только его надо настроить.
сделал, как описывал makkon, но столкнулся с неприятностью: у меня меню 3-х уровневое, и когда активен самый младший пункт, то старшие 2 пункта не активны (class active). Да и вобщем то было бы 2 уровневое было бы так же...
А Стэн вообще прав: в Суперфиш это встроенная опция.
Правда для того чтобы меню оставалось открытым при переходе по пункту нужно с бубном малость поплясать.
Menu Trails поможет-)