Twig 批处理功能:2、3、2 项

Twig batch function : 2, 3, 2 items

我正在尝试将 batch() 与 TWIG 结合使用。但是我找不到具有不同分布的解决方案:2 items, 3 items, 2 items, 3 items...

示例:

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

目前我得到了:

{% for row in items|batch(3) %}
    <div class="row">
        {% for column in row %}
            <div class="col">{{ column.content }}</div>
        {% endfor %}
    </div>
{% endfor %}

TWIG 是否有其他功能可以做到这一点?请问有什么可以帮忙的吗?

我脑海中浮现的第一件事就是执行以下操作

{% for values in items|batch(5) %}
    <div class="row">
    {% for value in values[0:2] %}
        <div class="col">{{ value }}</div>
    {% endfor %}
    </div>
    <div class="row">
    {% for value in values[2:] %}
        <div class="col">{{ value }}</div>
    {% endfor %}    
    </div>
{% endfor %}

demo