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

Аватар пользователя digital_sword

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

0 Thanks

Комментарии

Аватар пользователя antazy
antazy 10 лет назад

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

Аватар пользователя edhel
edhel 10 лет назад

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

Аватар пользователя digital_sword
digital_sword 10 лет назад

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

Аватар пользователя edhel
edhel 10 лет назад

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

Аватар пользователя digital_sword
digital_sword 10 лет назад

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

Аватар пользователя edhel
edhel 10 лет назад

Еще раз:

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

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

Аватар пользователя digital_sword
digital_sword 10 лет назад

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

Аватар пользователя digital_sword
digital_sword 10 лет назад

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

Аватар пользователя edhel
edhel 10 лет назад

li a {....none....}
li li a {....inline...}

Аватар пользователя digital_sword
digital_sword 10 лет назад

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

Аватар пользователя edhel
edhel 10 лет назад

ну что могу сказать... учите css.

Аватар пользователя BorisVlasenko
BorisVlasenko 9 лет назад

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