我使用宏在TWIG中创建了一个递归函数。这个宏应该计算它在嵌套数组中找到描述的次数并返回它。
有人可以帮助我解决出错的问题。小提琴可以在:
找到结果,你可以看到它有4,而它应该是6。
谢谢你的时间!
此致 碧玉
TWIG代码:
{% macro countArray(item) %}
{% import _self as self %}
{% set total = 1 %}
{% for yesItem in item.yes.items %}
{% set total = total + self.countArray(yesItem) %}
{% endfor %}
{% for noItem in item.no.items %}
{% set total = + total + self.countArray(noItem) %}
{% endfor %}
{{ total }}
{% endmacro %}
{% from _self import countArray %}
{% for item in data.items %}
{{ countArray(item) }}
{% endfor %}
有这些数据:
data:
items:
- description: '1'
yes:
items:
- description: '2'
- description: '3'
no:
items:
- description: '4'
yes:
items:
- description: '5'
- description: '6'
答案 0 :(得分:0)
找到解决此问题的方法。我在宏调用后添加了| trim。这会修剪所有空格和其他带有数字的东西。
这导致了将它们加在一起的问题。
twigfiddle已更新此设置以供进一步参考!
此致 碧玉