我尝试做斑马条纹:
{% set counter = 0 %}
{% for entity in entities %}
<tr class="{{ cycle(['odd', 'even'], counter) }}">
{% counter++ %}
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
意外的标签名称"counter"(期望在第11行附近定义的"for"标签的结束标签)
有人可以给我解决方案吗?
[编辑]
我的糟糕解决方案很简单:
{% set counter = counter + 1 %}
Run Code Online (Sandbox Code Playgroud)
Mae*_*lyn 37
有一种更简单的方法可以做你想要的:
{{ cycle(["even", "odd"], loop.index) }}
Run Code Online (Sandbox Code Playgroud)
请参阅文档了解loop好吃的东西.
如果你想完全控制html,你可以试试这个:
{% if loop.index is divisibleby(2) %}
...
{% endif %}
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读:http://twig.sensiolabs.org/doc/tests/divisibleby.html
请注意,它loop.index是"按原样"使用的,它不是指变量而是指for循环的隐藏索引.