Увеличьте индекс петли в ветке - PullRequest
0 голосов
/ 10 октября 2018

Ниже мой код.Я хочу увеличить индекс цикла J между внутренним циклом, поэтому я увеличил переменную J, но она не работает.

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

Есть ли другой способ увеличить индекс цикла?

1 Ответ

0 голосов
/ 11 октября 2018

Невозможно изменить значения цикла 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 %}
...