2011-11-29 4 views
45

私はTWIGは以下の条件文を解釈持ってする方法を見つけることができません。== trueまたはB IF ==真の文

{% if a == true or b == true %} 
do stuff 
{% endif %} 

私は何かが欠けているか、それは不可能ですかな?

+0

{% if a in ['foo', 'bar', 'qux'] %} ... {% endif %} 
そしてオペレータ: '{%Bの%であれば} ... {%endif%} –

答えて

105

これをチェックするTwig Reference

{% if (a or b) %} 
    ... 
{% endif %} 
+21

"or"も小文字にする必要があります - 小枝は大文字小文字を区別しているようです。 – Shane

+1

Twigの公式文書https://twig.symfony.com/doc/2によると、これを複数の場合に無効にするには、{%ならば(aまたはbまたはc)%} ... {%endif%} – JimB814

11

比較式がそれぞれ独自の括弧にする必要があります:

あなたは、単純なことを行うことができます

あなたは、単一の変数と可能な値の数を検査している場合
{% if (a == 'foo') or (b == 'bar') %} 
    ... 
{% endif %} 

別の方法:

+0

である必要はありません。 .x/tags/if.html – Luciano

+1

[正解](https://twigfiddle.com/vwy6vu)。私はDrupal 8で問題を抱えており、ブラケットで式をラップして解決しなければならなかった。 – Tim

+0

@Timには以下のように簡略化する方法がありますか? (kind == '01')または(kind == '02')または(kind == '03')または(kind == '04')または(kind == '05')%} ' – neoDev

関連する問題