2011-11-29 36 views
45

tôi không thể tìm thấy một cách để có TWIG giải thích các câu lệnh điều kiện sau đây:NẾU một == true HOẶC b == true tuyên bố

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

Tôi có thiếu một cái gì đó hoặc nó không phải là có thể?

+0

Và toán tử: '{% if a và b%} ... {% endif%} –

Trả lời

105

kiểm tra điều này Twig Reference.

Bạn có thể làm điều đó mà đơn giản:

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

"hoặc" cũng cần phải là chữ thường - có vẻ như cành cây có phân biệt chữ hoa chữ thường. – Shane

+1

Để phủ nhận điều này cho bội số: {% nếu không (a hoặc b hoặc c)%} ... {% endif%} – JimB814

11

biểu thức so sánh nên mỗi thể trong ngoặc riêng của họ:

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

Alternative nếu bạn đang kiểm tra một biến duy nhất và một số giá trị có thể:

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

không nhất thiết, theo tài liệu chính thức của Twig https://twig.symfony.com/doc/2 .x/tags/if.html – Luciano

+1

[Chính xác] (https://twigfiddle.com/vwy6vu). Tôi đã có vấn đề trong Drupal 8 và đã phải gói các biểu thức trong ngoặc đã giải quyết nó. – Tim

+0

@Tim có cách nào để viết tắt những điều sau không? '{% if (loại == '01') hoặc (loại == '02') hoặc (loại == '03') hoặc (loại == '04') hoặc (loại == '05')%} ' – neoDev

Các vấn đề liên quan