2012-03-08 6 views
3

私は繰り返しデータで100回ループするプロジェクトに取り組んでいます。広告ブロックに番号が付けられていないため、変数から減算する必要がある各ブロック出力にインデックス値を使用しているため、広告ブロックを挿入しています。だから今私が持っている問題は次のとおりです。それは8であるべきときTwig PHP:ForeachでAの値を増減する

Block #1 

Block #2 

Block #3 

Block #4 

Block #5 

Block #6 

Block #7 

Advertisement Block 

Block #9 

それがインデックスの1回の繰り返しなどの広告ブロックをカウントしているので、番号を持つことになり、それを次のブロックには、変数をインクリメントしてする方法はあり、今9広告ブロックが示すたびに1から値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

は、プリントアウト中括弧の内部ロジックが私のために働いた、ありがとうございます。私は実際のエコーブレースで算術演算を使うことを考えていませんでしたが、実際に試してみるためにカウンタと変数を設定するのはあまりにも凝縮されていました。 –