在twig.js里面循环,设置循环计数器

时间:2014-05-07 09:13:32

标签: javascript symfony twig

我正在使用twig.js进行模板化。我有html div,显示项目列表中的3个项目。

<div class="item-container">
    {% set i = 0 %}
    {% for i in 0..items | length %}
    <ul>
        <li> {{ items[i].name }}     </li>
        <li> {{ items[i + 1].name }} </li>
        <li> {{ items[i + 2].name }} </li>
    <ul>
    {% set i = i + 3 %}
    {% endfor %} 
</div>

第一次迭代循环正常,但$i不会使用{% set i = i + 3 %}递增 谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:4)

使用range函数,它有step参数:

<div class="item-container">
{% for i in range(0, items|length-1, 3) %}
    <ul>
        <li>{{ items[i] }}</li>
        <li>{{ items[i+1]|default }}</li>
        <li>{{ items[i+2]|default }}</li>
    </ul>
{% endfor %}
</div>

您可以使用default

代替{% if items[i+1] is defined %}过滤器