pdoMenu вывод меню третьего уровня в выпадающем списке первого уровня
- Главная
- Товары
- Категория1
- Товар1
- Товар2
- Категория2
- Товар3
- Товар4
- Категория1
- О компании
- Контакты
- Главная
- Товары
- Товар1
- Товар2
- Товар3
- Товар4
- О компании
- Контакты
Если выводить меню таким образом
[[!pdoMenu?
&parents=`0`
&level=`3`
]]
Выводится полностью всё древо ресурсов.
Если исключить родительские ресурсы (Категории), то и товары из меню тоже пропадают.
Если Категории скрыть из меню, то товары также скрываются.
Категории имеют отдельный шаблон, и если добавить параметр &templates=`-6`, то товары из категорий выстраиваются в отдельное дополнительное меню первого уровня, а не в выпадающий список. И в итоге получается 3(!) меню первого уровня: основное, с товарами из первой категории и товарами из второй категории.
Скрыть категории из меню и вставить ссылки на товары тоже не могу. Во-первых, в таком случае ломается другое меню, которое находится на внутренних страницах. Во-вторых, меню уже получается не динамическим, т.е. если добавить новый товар, оно в меню не появится.
Может кто-то знает, как решить этот вопрос или сталкивался уже с подобной задачей?
Комментарии: 5
Я как любитель простых решений, предлагаю выводить меню только первого уровня, при этом в чанке &tpl проверять id, и если он равен id Товары, то выводить товары сниппетом pdoResources.
Интересное решение, конечно, только я пока не совсем понимаю… Проверка id страницы выведет результат, в зависимости от того, на какой странице я нахожусь. Разве нет? А главное меню должно на всех страницах быть одинаковым.
А я не говорил про id страницы, у каждого пункта меню, т.к. это ресурс, есть id и при выводе меню вы проверяете равен ли id текущего пункта например 2, где 2 это id ресурса Товары, если равен, то вызываете pdoResources/pdoMenu/
Я любитель еще более простых решений) Зачем вам статичные пункты меню, такие как — о компании, контакты, формировать динамически через pdoMenu. Оставьте их в html и пропишите руками ссылки. А для формирования подменю с товарами используйте уже pdoMenu или pdoResources или msProducts и настройте их так чтобы отбирались только товары.
ну так-то да, но есть один нюанс, если заказчик, а так бывает, захочет добавить ещё раздел на первом уровне или переименовать существующий, статически выведенное меню нужно будет менять вручную, поэтому я бы так не делал, просто из-за лени)))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.