Как реализовать меню 3 уровня средствами используя один шаблон?
Добрый день подскажите пожалуйста каким образом реализовать меню состоящее из 3 уровней, используя 1 шаблон.
Структура будет такая

После нажатия на категорию появляется подпункт меню, и выделяется активный пункт категории.

После нажатия на подпункт меню, дополнительно выделяется активный подпункт.

Пытался сделать несколькими вызовами pdoMenu, с условиями на fenom но больно много условий if и приходится привязываться к id, что заставляет сделать несколько шаблонов.
Может кто нибудь сталкивался с подобной задачей, что то подскажет?
Структура будет такая
Главная
Категория
Подкатегория-1
Под-подкатегория-1
Под-подкатегория-2
Подкатегория-2
Под-подкатегория-1
Под-подкатегория-2
Категория-2
Категория-3Это 1 уровень меню:После нажатия на категорию появляется подпункт меню, и выделяется активный пункт категории.
После нажатия на подпункт меню, дополнительно выделяется активный подпункт.
Пытался сделать несколькими вызовами pdoMenu, с условиями на fenom но больно много условий if и приходится привязываться к id, что заставляет сделать несколько шаблонов.
Может кто нибудь сталкивался с подобной задачей, что то подскажет?
Комментарии: 22
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Где:
Отвечает за самый верхний уровень:
За второй уровень:
За третий уровень и т.д.:
Если у вас разные шаблоны ввода второго уровня (например как у меня, шаблон при выводе второго уровня меняется ввиду того, что к элементу меню второго уровня добавляется третий, т.е. появляются дочерки):
При этом важно, чтобы работал параметр:
Иначе такая конструкция не поможет.
Все необходимые плейсхолдеры есть в документации, как и данные параметры:
pdomenu
Набросал меню
Вот его вызов по вашему примеру
Вот что получилось сайт
Логин: menu
Пароль: menumenu
Вся конструкция находится в чанке
Ваш пример это обычный вывод меню к примеру в Bootstrap.Theme Василия.
У Вас идет привязка к шаблону, а мне нужно сделать это динамически без привязки.
С горем пополам получилось вот так, но мне кажется данная конструкция не правильная!
Вот что получилось
А и стили
Вам нужно на каждой странице свое особенное меню?
Не совсем этого догоняю.
Если да, то почему бы каждый вызов не обернуть в чанк и использовать и в зависимости от необходимости?
Как вариант.
Если честно задача мне не понятная. =_(
UPD. Зачем чередовать два абсолютно одинаковых вызова? О_о Или я чего-то не заметил?
UPD2. Ага. Кажется догнал.
Вы хотите трех уровневое меню.
Только объясните мне что вам запрещает использовать шаблон? Это легко реализуется на js.
Я уже сам не понимаю...)))
Ну например есть меню 1 уровень:
Главная | Услуги | Контакты
При нажатии на услуги нужно что бы появилось другое меню, но начальное осталось на месте, т.е.:
Главная | Услуги | Контакты
— подуслуга-1 | подуслуга-2 | подуслуга-3
При нажатии на подуслугу, должно быть так:
Главная | Услуги | Контакты
— подуслуга-1 | подуслуга-2 | подуслуга-3
Как это реализовать?
PS Че то я заморочился????)))
Пароль menumenu
Сайт
Нашел ошибку в моем решении, теряется вложенность.....Обновил кеш все нормально!
Создал еще категорию ТОВАРЫ и ему подпункты, все работает отлично!
Я тут пока дошел только до начальной стадии.
Но мне кажется, что я иду не верным путем)
Ну… я еще подумаю над тем как можно это реализовать)
Вы скармливаете спиппету параметры.
Спиппет их обрабатывает и выдает новые.
В цикле его оформить никак не могу представить даже.
Вот такое у меня меню каждая колонка это один вызов pdoMenu:
Например я бы просто вызвал бы pdoMenu
И пользуясь возможностью указывать шаблоны на каждый особенный случай пошаманил бы в CSS.
Что вам конкретно нужно?
Тут уже больше проблема не в MODX и сниппете, а в HTML и CSS на мой взгляд