增加树枝中的循环索引

时间:2018-10-10 13:12:12

标签: twig opencart opencart-3

下面是我的代码。我想在内部循环之间增加J循环索引,所以我增加了J变量,但是它不起作用。

`{% for j in 0..(products|length-1) %}
{% for f in 0..(rows-1) %}
{% set j = j + 1 %}
{% endfor %}
{% endfor %}`

还有其他增加循环索引的方法吗?

1 个答案:

答案 0 :(得分:1)

由于如何编译循环,因此无法更改twig的循环索引

例如

{% for i in 1..5 %}被编译为

$context['_seq'] = twig_ensure_traversable(range(1, 5));
foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
    //..
}

我还有另一种方法可以用twig解决此问题

{% set rows = 2 %}
{% set items = ((products|length) / rows) | round %}

{% for product in products %}
    {% if loop.index0 % items == 0 %}
<div class="row">
    {% endif %}
    <div class="product">
        {{ product }}
    </div>
    {% if loop.index % items == 0 or loop.last %}
</div>
    {% endif %}
{% endfor %}