2012-03-08 125 views
3

我正在处理一个循环重复数据100次的项目。每8个帖子我插入一个广告块,因为我使用索引值来编号每个块输出的数量,因为广告块没有编号,所以我需要从变量中减去。所以我现在的问题是以下。Twig PHP:在一个Foreach中增加和减去一个值

Block #1 

Block #2 

Block #3 

Block #4 

Block #5 

Block #6 

Block #7 

Advertisement Block 

Block #9 

由于是计数所述广告块作为索引的一个迭代中,它后面的块,其将具有多个现在是9时,它应该是8有一种方法来增加一个变量,然后每次广告块显示时,从它减去1的值?

在标准的PHP中,我可以做到这一点,但是用Twig我已经尝试了一些东西,并且对于我能做的事情感到不知所措。

回答

4

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

 
{% 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 %} 
+0

谢谢印出大括号里面的逻辑为我工作。我不知道如何在实际的回声大括号中使用算术,我太在意设置计数器和变量来真正尝试。 – 2012-03-08 05:57:12