3

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

Block #1

Block #2

Block #3

Block #4

Block #5

Block #6

Block #7

Advertisement Block

Block #9

広告ブロックをインデックスの 1 回の繰り返しとしてカウントしているため、その後に続くブロックは 8 になるはずの番号が 9 になります。変数をインクリメントしてから 1 の値を減算する方法はありますか広告ブロックが表示されるたびに?

標準の PHP ではこれを簡単に行うことができましたが、Twig ではいくつかのことを試してみましたが、何ができるのか途方に暮れています。

4

1 に答える 1

5

私が理解していれば、これを行うことができます:

{% for foo in bar %}
  {% if (loop.index % 8 == 0 and loop.index > 0) %}
    {# ここに広告を表示します #}
  {% endif %}
  {# 標準ブロックはこちら #}
  <p>これはブロック #{{ loop.index + 1 + loop.index // 8 }} です</p>
{% endfor %}
于 2012-03-08T05:42:46.643 に答える