如何在Twig的for循环中砍

时间:2019-05-14 09:59:46

标签: twig refactoring

这是一个重构问题。该代码按原样工作,从审美的角度来看,我只是不满意。 我想知道循环内的条件是否可以用更短,更易读的方式编写,或者可以剥离掉?

{% set i = 0 %}
{% for element in list %}
  {% if loop.first %}<div class="row">{% endif %} {# open first row #}

  {% if i > 2 %} {# new row every 3 elements #}
    {% set i = 0 %}
    </div>
    <div class="row">
      <img src="{{ element.url }}">
  {% else %}
    {% set i = i+1 %}
    <img src="{{ element.url }}">
  {% endif %}

  {% if loop.last %}</div>{% endif %}
{% endfor %}

1 个答案:

答案 0 :(得分:0)

如DarkBee用户所说,请批量查看。

{% for element in list|batch(3) %}
 .....
 .....
{% endfor %}

仅在此页面上有一个示例。

Batch-Docs

致谢