показать неограниченную категорию детей на ветке - PullRequest
0 голосов
/ 18 мая 2018

У меня есть такой массив:

array(
  'id' => 1,
  'children' => array(
    'id' => 5,
    'children' =>
    array(
      'id' => 6,
      'children' => 'none',
    ),
    array(
      'id' => 8,
      'children' => array(...),
    )
  )
)

с кодом php может вызвать рекурсивную функцию для его отображения.но в ветке я не могу вызвать рекурсивную функцию.

{% for category in categories %}
    <div class="category">
      <div class="id">{{ category.id }}</div>
    </div>
{% endfor %}

мой код просто печатает первый уровень массива, а не другой!

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете с блоками:

{% set foo = { 'hello': { 'hello': { 'hello': 'swagg' }, 'foo': 'bar' } } %}


{% block test %}
<ul>
    {% for keyOfFoo, f in foo %}
    <li>
        {{ keyOfFoo }}
        {% if f is iterable %}
            {% with { foo: f } %}
            {{ block('test') }}
            {% endwith %}
        {% endif %}
    </li>
    {% endfor %}
</ul>
{% endblock test %}

Вот живая демонстрация: https://twigfiddle.com/r35pae

Но есть и много других вариантов.Как включает цикл.Или вложенный .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...