3

我正在做一个循环 100 次重复数据的项目。每 8 篇文章我都会插入一个广告块,因为我使用索引值对每个需要从变量中减去的块输出进行编号,因为广告块没有编号。所以我现在遇到的问题如下。

Block #1

Block #2

Block #3

Block #4

Block #5

Block #6

Block #7

Advertisement Block

Block #9

因为它将广告块计算为索引的一次迭代,所以它后面的块将有一个数字现在是 9,而它应该是 8。有没有办法增加一个变量,然后从中减去 1每次出现广告块?

在标准的 PHP 中,我可以很容易地做到这一点,但是使用 Twig 我已经尝试了一些事情,但我不知道我能做什么。

4

1 回答 1

5

如果我理解正确,你可以这样做:

{% for foo in bar %}
  {% if (loop.index % 8 == 0 and loop.index > 0) %}
    {#你在这里打广告#}
  {% 万一 %}
  {# 你的标准块在这里#}
  <p>这是块 #{{ loop.index + 1 + loop.index // 8 }}</p>
{% endfor %}
于 2012-03-08T05:42:46.643 回答