我想以其他方向呈现 HTML 块。这是获取当前循环值的正确语法吗?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
我想以其他方向呈现 HTML 块。这是获取当前循环值的正确语法吗?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
cycle(['odd', 'even'])
不应该{{ }}
在if
语句里面cycle()
应该有第二个参数来计算循环的数量{% elseif %}
应该有条件或更改为{% else %}
这是你应该做的让代码按照你的意愿工作(循环 10 次):
{% for i in 0..9 %}
{% if cycle(['odd', 'even'], i) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}
如果您希望 for 循环对象,您可以使用loop.index
(从 1 开始)而不是i
:
{% for object in objects %}
{% if cycle(['even', 'odd'], loop.index) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}
或loop.index0
(从 0 开始):
{% for object in objects %}
{% if cycle(['odd', 'even'], loop.index0) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}