Небольшой вопрос Twig относительно массива в доступе к массиву. У меня есть следующий скрипт, который по существу содержит категории, а затем подкатегории, связанные с каждой категорией.Массив в массиве Twig
{% for category in categories %}
<li>
<a href="#">{{ category.name }}</a>
{% if category.subcategories|length > 0 %}
{% set subcategories = category.subcategories %}
<ul>
{% for subcategory in subcategories %}
<li>
<a href="#">{{ subcategory.name }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
В приведенном выше скрипте не отображаются подкатегории, и я понятия не имею, почему. Основная проблема заключается в том, что цикл for никогда не доступен. Сбрасывая переменную подкатегорий сразу после ее установки, она показывает ожидаемый, что он содержит правильный массив с одним элементом.
Любые идеи?
сбросов переменной Подкатегории показывает:
array (size=2)
0 =>
array (size=2)
'id' => int 1
'name' => string 'Dolls' (length=5)
1 =>
array (size=2)
'id' => int 2
'name' => string 'Test' (length=4)
Почему вы не используете напрямую '{% для подкатегории категории.subcategories%}'? – cheesemacfly
Пробовал это изначально, но думал, что я, возможно, слишком много просил Твига. В любом случае, нашел ответ, спасибо за оптимизацию. –
Этот код хорош. Если ваша категория имеет одну или несколько подкатегорий, этот код должен печатать их. Пересмотрите, у вас действительно есть подкатегории. – mmoreram