Убрать из выборки первый уровень вызова pdoMenu
Приветствую сообщество!
В общем вопрос следующего характера, есть вот такая конструкция, например:
-Главная (id — 1)
-Категория 1 (id — 2)
--Подкатегория 1.1 (Раздел с тикетами) (id — 5)
--Подкатегория 1.2 (Раздел с тикетами) (id — 6)
--Подкатегория 1.3 (обычный документ) (id — 7)
-Категория 2 (id — 3)
--Подкатегория 2.1 (Категория товаров) (id — 8)
--Подкатегория 2.2 (Категория товаров) (id — 9)
--Подкатегория 2.3 (обычный документ) (id — 10)
-Служебные страницы (id — 4)
так вот, смысл в том, что мне надо соорудить меню! Но логика (как хотелось бы, чтобы она работала) должна работать следующим образом:
Дело в том, что как бы я не пытался динамически вызвать сниппет для построения меню, он выводит максимум только так:
--Подкатегория 1.2 (Раздел с тикетами) (id — 6)
То да… однозначно он выводит меню того уровня который мне нужен! Далее… Проблемы продолжаются… Если я есесна перейду в один из созданных тикетов данного подраздела, то вся динами есесна пропадает!
В общем надеюсь, что задача ясна!
П.С.
Чтобы предотвратить наплыв комментов о том, почему бы не использовать жесткое назначение ID для родителя в вызове сниппета, отвечу… НЕ выход! Т.к. при этом теряется динамичность и придется создавать два разных типа шаблонов для одной категории и для другой или шаблоны или чанки городить, без разницы, костыли однозначно не выход!
В общем вопрос следующего характера, есть вот такая конструкция, например:
-Главная (id — 1)
-Категория 1 (id — 2)
--Подкатегория 1.1 (Раздел с тикетами) (id — 5)
--Подкатегория 1.2 (Раздел с тикетами) (id — 6)
--Подкатегория 1.3 (обычный документ) (id — 7)
-Категория 2 (id — 3)
--Подкатегория 2.1 (Категория товаров) (id — 8)
--Подкатегория 2.2 (Категория товаров) (id — 9)
--Подкатегория 2.3 (обычный документ) (id — 10)
-Служебные страницы (id — 4)
так вот, смысл в том, что мне надо соорудить меню! Но логика (как хотелось бы, чтобы она работала) должна работать следующим образом:
- На главной отображается два элемента, тип выбор куда попасть в Категорию 1 или в Категорию 2 (это легко, при помощи pdoTools сделал, допустим, фигня)
- Нажимаю на Подкатегория 1.1 и здесь должно быть только меню этой категории, т.е. так:
--Подкатегория 1.1 (Раздел с тикетами)
--Подкатегория 1.2 (Раздел с тикетами)
--Подкатегория 1.3 (обычный документ) - соответственно во второй категории так же...
Дело в том, что как бы я не пытался динамически вызвать сниппет для построения меню, он выводит максимум только так:
[[pdoMenu?
&parents=`[[*parent]]`
&level=`1`
]]Т.е. ровно до второго уровня как мне якобы и надо… НО! только если я нахожусь например здесь: --Подкатегория 1.2 (Раздел с тикетами) (id — 6)
То да… однозначно он выводит меню того уровня который мне нужен! Далее… Проблемы продолжаются… Если я есесна перейду в один из созданных тикетов данного подраздела, то вся динами есесна пропадает!
В общем надеюсь, что задача ясна!
П.С.
Чтобы предотвратить наплыв комментов о том, почему бы не использовать жесткое назначение ID для родителя в вызове сниппета, отвечу… НЕ выход! Т.к. при этом теряется динамичность и придется создавать два разных типа шаблонов для одной категории и для другой или шаблоны или чанки городить, без разницы, костыли однозначно не выход!
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Я ж говорю не выход!
Т.к. генерировать надо так:
-Категория 1 (id — 2) — захожу сюда и генерируется меню так:
НО! Если я зайду например в дочерний документ подкатегории:
то меню начнет генерироваться с учетом её родителя, а именно вот как так:
И все, больше в меню по идее ничего не будет!
+ ко всему теряется динамичность, ведь мне надо чтобы меню само генерировалось для обоих категории со своими подкатегориями!
Да, сам уже дошел до этого, сделал вот такой костыль:
[[pdoMenu?
&parents=`[[*id:pdofield=`{«topLevel»:2,«field»:«id»}`]]`
]]
Таким образом, теперь все вызывается как надо!
Но Вам тем не менее спасибо, за подтверждение! :D
т.е. если документ в корне значит скормить id иначе скормить parent
Этот вариант наверное костыль, т.к сделал его методом тыка)