HTML のブロックを別の向きでレンダリングしたい。これは、サイクルの現在の値を取得するための正しい構文ですか?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
HTML のブロックを別の向きでレンダリングしたい。これは、サイクルの現在の値を取得するための正しい構文ですか?
{% if ( {{ cycle(['odd', 'even']) }} == 'odd' ) %}
foo
{% elseif %}
bar
{% endif %}
cycle(['odd', 'even'])
ステートメント内{{ }}
に含めないでくださいif
cycle()
ループの量をカウントする 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 %}