每两个在树枝上

时间:2015-06-06 13:19:28

标签: twig

在树枝上有没有办法让每两个循环?我知道解释我的意思的最好方法是向你展示我正在寻找的结果。

<div class="row"></div>
<div class="item"></div>
<div class="item"></div>
<div class="row"></div>
<div class="item"></div>
<div class="item"></div>
<div class="row"></div>

是否有某种方法可以自动将两个项目放入行div中,并对可用的项目重复一次?

3 个答案:

答案 0 :(得分:3)

更好的解决方案是在Twig中使用batch函数,它可以完全满足您的需求。

以下是您示例的代码:

{% for row in items|batch(2) %}
    <div class="row">
        {% for item in row %}
            <div class="item">{{ item }}</div>
        {% endfor %}
    </div>
{% endfor %}

答案 1 :(得分:0)

您的代码段与您在其下面所写的不同,但我认为这就是您想要的:

{% set columns = 2 %}
<div class="row">
    {% for item in items %}
        <div class="item">{{ item }}</div>
        {% if loop.index % columns %}
            </div>
            <div class="row">
        {% endif %}
    {% endfor %}
</div>

答案 2 :(得分:0)

我最终使用了MarkusKottländer和DarkBee的建议:

<div class="row">
    {% for item in items %}
        <div class="item">{{ item }}</div>
        {% if loop.index is even %}
            </div>
            <div class="row">
        {% endif %}
    {% endfor %}
</div>