Как организовать меню?

19 февраля 2008 в 23:43

Здравствуйте.
Нужна структура вроде этой: http://rostk.com/. То есть главное меню сверху, если нажмешь на его пункт подменю открывается в левой колонке. Как реализовать?
Можно использовать secondary_links, и переопределить положение их в левый блок, но там только один подуровень ссылок.
Если главное меню сделать сверху как primary_links, а подменю сбоку сделать блоком, то придется в настройках видимости блока указывать его для каждого подпункта этого самого меню. Тоже не гуд. Есть более простое решение организовать меню как на том сайте?

Комментарии

Можно сделать primary_links многоуровневое, а в левый колонку поставить блок который бы с помощью php выбирал из expanded primary_links ссылки Smile

20 февраля 2008 в 1:01

1) в admin/build/menu/settings выбрать primary links в обоих списках
2) в теме вывод $secondary_links перенести в левую колонку

20 февраля 2008 в 7:32

antazy, так тут же программировать нужно... Я здесь не силен.
edhel, в этом случае, как я и писал в описании проблемы, не появляется подменю третьего уровня в левой колонке. То есть если организовывать меню навигации, то сверху значит "Управление сайтом", в левом блоке, где secondary_links, "Конструкция", "Содержание", "Настройка", а подподменю в левом блоке уже не появится...

20 февраля 2008 в 8:21

тады можно такой финт ушами:
1) в admin/build/menu/settings в первом списке указать primary links, второй отключить,
2) включить блок primary links в левую панель,
3) через css спрятать пункты верхнего уровня в левой колонке (типа .menu li {display:none;} .menu li li {display:block;}).

20 февраля 2008 в 8:31

Как вы написали, продублировал primary links в верхней и левой колонках. В левой скрыл. Но secondary_links то вообще не появляется. Да и нельзя, думаю, через primary /secondary организовать трехуровневое меню.

20 февраля 2008 в 8:49

Еще раз:

1) на странице admin/build/menu/settings в первом списке выбираем primary links, во втором "no secondary links"
2) на странице admin/build/block в левую панель включаем это же меню primary links

Должно получиться вверху меню и слева меню (вверху только главные разделы, слева - всё дерево). Осталось избавиться от пункт меню первого уровня в левой колонке (с помощью CSS).

20 февраля 2008 в 9:40

В качестве исходной - тема garland.
Вот исходный код меню:

Пробовал поставить в css
1i.expanded {display:none;}. Так пропадает все меню полностью. Откуда вообще это expanded берется? В файлах темы не нашел, чтобы изменить...

20 февраля 2008 в 19:35

Там еще если подменю подподменю содержит, то оно тоже убирается. Это в лучшем случае. В моем меню исчезло совсем.

20 февраля 2008 в 20:56

Не работает здесь ни li li a {display: none;}, ни li a {display: none;}.
И еще: если меню трехуровневое, то при открытии 3го уровня второй по такой схеме должен пропасть. Правда у меня даже до этого не дошло.

21 февраля 2008 в 20:35

Привет.
Я сделал так: с помощью модуля menu_block создал блок, содержащий пункты меню со 2-го уровня (и глубже).
В primary - меню которое мне нужно.
Есть еще модуль menu_block_split. Может пригодится.

19 августа 2009 в 9:46