HTML のブロックを別の向きでレンダリングしたい。これは、サイクルの現在の値を取得するための正しい構文ですか?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
HTML のブロックを別の向きでレンダリングしたい。これは、サイクルの現在の値を取得するための正しい構文ですか?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
cycle(['odd', 'even'])
ステートメント内{{ }}に含めないでくださいifcycle()ループの量をカウントする 2 番目のパラメーターが必要です{% elseif %}条件を持つか、に変更する必要があります{% else %}これは、コードを希望どおりに機能させるために行うべきことです (10 回ループします)。
{% for i in 0..9 %}
{% if cycle(['odd', 'even'], i) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}
for でオブジェクトをループさせたい場合は、loop.index代わりに (1 から開始) を使用できiます。
{% for object in objects %}
{% if cycle(['even', 'odd'], loop.index) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}
またはloop.index0(0 から開始):
{% for object in objects %}
{% if cycle(['odd', 'even'], loop.index0) == 'odd' %}
foo
{% else %}
bar
{% endif %}
{% endfor %}