Предположим, есть задачка, вывести дерево.
Под рукой PHP, а как view — Twig.
Пусть структура данных на backend будет такой:
$tree = [ [ 'name' => 'foo', 'children' => [ [ 'name' => 'bar', 'children' => [ [ 'name' => 'baz', 'children' => [ ], ], [ 'name' => 'baz', 'children' => [ ], ], ] ] ] ] ];
Тогда простроить дерево можно так:
{% macro makeTree(node) %} {% import _self as self %}
-
{% for child in node.children %}
{{ self.makeTree(child) }}
{% endfor %}
-
{% for node in tree %}
{{ makeTree(node) }}
{% endfor %}
Получится вложенный список из ul и li.