Twig PHP: увеличение и вычитание значения в Foreach - PullRequest
3 голосов
/ 08 марта 2012

Я работаю над проектом, который повторяется 100 раз с повторяющимися данными.Каждое восьмое сообщение я вставляю рекламный блок, потому что я использую значение индекса для нумерации каждого выходного блока, мне нужно вычесть из переменной, потому что рекламный блок не нумеруется.Итак, проблема, с которой я столкнулся, заключается в следующем.

Block #1

Block #2

Block #3

Block #4

Block #5

Block #6

Block #7

Advertisement Block

Block #9

Поскольку рекламный блок считается как одна итерация индекса, следующий за ним блок, который будет иметь номер, теперь равен 9, когда это должно быть.8. Есть ли способ увеличивать переменную и затем вычитать из нее значение 1 каждый раз, когда показывается рекламный блок?

В стандартном PHP я мог бы сделать это легко, но с Twig я попробовал нескольковещи, и я в растерянности относительно того, что я могу сделать.

1 Ответ

5 голосов
/ 08 марта 2012

Если я правильно понял, вы можете сделать это:

{% for foo in bar %}
  {% if (loop.index % 8 == 0 and loop.index > 0) %}
    {# You advertisement here #}
  {% endif %}
  {# Your standard block here #}
  <p>This is block #{{ loop.index + 1 + loop.index // 8 }}</p>
{% endfor %}
...