====== Тег {{tree}} ====== ===== Описание ===== Используется для вывода деревьев. ===== Область применения ===== В любом месте MACRO шаблона. ===== Синтаксис ===== {{tree using='some_var' kids_prop='kids_property_name' [as='item_var_name'] [counter='counter_var_name']}} ...some content {{/list}} * **using** - переменная, содержимое которой будет выводиться в виде дерева. Массив или итератор * **kids_prop** - имя свойства узла (элемента), в котором находятся его дочерние узлы * **as** - название переменной, которой будет присваиваться текщий узел дерева. По-умолчанию имеет значение **$item** * **counter** - название переменной, в которой будет храниться номер выводимого узла, среди узлов одного родителя ===== Содержимое ===== Любые дочерние теги, такие как [[TreeNodeTag|тег {{tree:node}}]], [[TreeEmptyTag|тег {{tree:empty}}]], [[TreeNextlevelTag|тег {{tree:nextlevel}}]] которые определяют, как будет выводиться дерево, а также теги разметки и любой другой текст. ===== Пример использования ===== **Задача:** Взять дерево комментариев из переменной $comments_tree, определенной глобально в шаблоне, и вывести его в виде вложенных друг в друга ненумерованных списков. Если ни одного комментария нет, то вывести сообщение - "Комментарии отсуствуют". Каждый комментарий должен быть пронумерован по всем уровням дерева. {{tree using="$#comments_tree" as="$comment" kids_prop="childs" counter="$counter" prefix="1"}} {{/tree}} Результат: Обратите внимание, что если в дереве нет ни одного узла, то выводится только содержимое {{tree:empty}} (теги не будут выведены)