我尝试使用 Twig“loop.length”在每个菜单项上实现一个菜单子项计数器。根据twig docs here,如果我在循环之前声明它,我可以访问该变量:
<div id="menu">
<div class="list-group">
{% if menuItems %}
{% set items = menuItems %}
{% for item in items %}
<a href="#">{{ item.title }}</span>{{ subitem_counter }}</span></a>
{% if item.items %}
<div class="list-subgroup">
{% set subitem_counter = "" %}
{% for subitem in item.items %}
{% set subitem_counter = loop.length %}
<a href="#">{{ subitem.title }}</a>
{% endfor %}
</div>
{% endfor %}
{% endif %}
</div>
</div>
问题是,在第一个菜单项上我没有得到任何关于“subitem_counter”的数据,在第二个菜单项上我从第一个菜单子项中获取计数数据,在第三个菜单项上我从第二个菜单子项中获取计数数据等等。