【发布时间】:2013-09-12 10:01:18
【问题描述】:
关于数组访问中的数组的一个小 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)
【问题讨论】:
-
这段代码不错。如果您的类别有一个或多个子类别,则此代码应打印它们。修改你真的有子类别。
-
嘿,提供了子类别变量的 dump()。还是不走运。
-
为什么不直接使用
{% for subcategory in category.subcategories %}? -
最初尝试过,但认为我在某种程度上可能对 Twig 提出了太多要求。无论如何,找到答案了,感谢您的优化。