2011-11-29 67 views
45

我不能找到一种方法,有TWIG解释下面的条件语句:如果==真或者b ==真实的陈述

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

我缺少的东西,或者是不可能的?

+0

And operator:'{%if a and b%} ... {%endif%} –

回答

105

检查此Twig Reference

你能做到这么简单:

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

“或”也需要小写 - 看起来小枝是区分大小写的。 – Shane

+1

根据Twig的官方文档https://twig.symfony.com/doc/2,否定此倍数:{%如果不是(a或b或c)%} ... {%endif%} – JimB814

11

比较表达式应各自在自己的括号:

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

选择,如果你正在检查一个变量和一些可能的值:

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

.x/tags/if.html – Luciano

+1

[更正](https://twigfiddle.com/vwy6vu)。我在Drupal 8中遇到了问题,不得不用表达式来包装它。 – Tim

+0

@Tim有没有办法缩短以下内容? ({kind =='01')or(kind =='02')or(kind =='03')or(kind =='04')or(kind =='05')%} ' – neoDev