2011-11-29 18 views
45

nie mogę znaleźć sposób, aby mieć TWIG zinterpretować następujące oświadczenie Warunkowo:IF a == true lub b == true oświadczenie

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

jestem brakuje czegoś lub nie jest to możliwe?

+0

I operator: '{%, jeśli ai b%} ... {% endif%} –

Odpowiedz

105

sprawdź to Twig Reference.

Można zrobić to takie proste:

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

"lub" również musi być małe litery - wydaje się, że gałązka rozróżnia wielkość liter. – Shane

+1

Aby zanegować to dla wielokrotności: {% jeśli nie (a lub b lub c)%} ... {% endif%} – JimB814

11

wyrażenia porównawcze należy przedstawić w swoich nawiasach:

{% if (a == 'foo') or (b == 'bar') %} 
    ... 
{% endif %} 

alternatywna jeśli inspekcji jedną zmienną i liczbę możliwych wartości:

{% if a in ['foo', 'bar', 'qux'] %} 
    ... 
{% endif %} 
+0

niekoniecznie, zgodnie z oficjalną dokumentacją Twiga https://twig.symfony.com/doc/2 .x/tags/if.html – Luciano

+1

[Correct] (https://twigfiddle.com/vwy6vu). Miałem problemy w Drupal 8 i musiałem rozwiązać wyrazy w nawiasach. – Tim

+0

@Tim jest sposób, aby skrócić następujące elementy? '{% if (rodzaj == '01') lub (rodzaj == '02') lub (rodzaj == '03') lub (rodzaj == '04') lub (rodzaj == '05')%} ' – neoDev

Powiązane problemy