getResources. Вывод дерева.[Решено]
Здравствуйте.
Есть дерево русурсов:
Меню(1)
Необходимо вывести это дерево таким образом: для 1,2 уровня — только тайтл, а для, собственно, блюд — значения тв. Как это реализовать?
Есть дерево русурсов:
Меню(1)
- Холодные закуски(2)
- Карпаччо
- Капри
- Горячие закуски(2)
- Напитки(2)
Необходимо вывести это дерево таким образом: для 1,2 уровня — только тайтл, а для, собственно, блюд — значения тв. Как это реализовать?
Комментарии: 9
Сорри, не заметил что в заголовке написано getResources :-) С таким выводом не сталкивался…
А так, includeTVs — подцепляет тв для вывода.
Затем в чанке шаблоне [[+tv.my_tv]]
[[+pagetitle]] и так выводит.
А так, includeTVs — подцепляет тв для вывода.
Затем в чанке шаблоне [[+tv.my_tv]]
[[+pagetitle]] и так выводит.
как выводить тв в принципе я в курсе
мне нужно разделить вывод в зависимости от родителя
мне нужно разделить вывод в зависимости от родителя
Решение:
[[+parent:eq=`19`:then=`[[+pagetitle]]`:else=`[[+tv.menu-item-price]]`]]
19 — айдишник верхнего родителя.
Хорошо бы еще теперь упорядочить как нужно, т.е.
Родитель
Его потомки
Родитель
Потомки
Родитель
Его потомки
Родитель
Потомки
В общем сделал так:
в чанке дерева вызываю сниппет для вывода первого уровня
указывая родителем ресурс из текущей итерации верхнего getResources
Дальше дело за CSS.
в чанке дерева вызываю сниппет для вывода первого уровня
[[!getResources? &parents=`19` &tpl=`menu-list-tpl` &depth=`0` &limit=`1000` ]]
в указанном шаблоне menu-list-tpl вывожу тайтл ресурсов первого уровня и опять вызываю сниппет,указывая родителем ресурс из текущей итерации верхнего getResources
[[+pagetitle]]
[[!getResources? &parents=`[[+id]]` &tpl=`sub-menu-list-tpl` &includeTVs=`1` &processTVs=`1` &limit=`1000` ]]
в sub-menu-list-tpl вывожу то, что нужно для ресурсов 2 уровня(тайтл, тв-параметры).Дальше дело за CSS.
Это ужас! Будет тормоз конкретный. Перепешите на свой сниппет
Ясно. Спасибо.
Да...menu, не потому, что меню, а потому, что — список блюд:)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.