如果我记得正确Twig不支持||和&&运算符,但分别需要或和。我还使用括号来更清楚地表示两个语句,虽然这在技术上不是一个要求。
{%if ( fields | length > 0 ) or ( trans_fields | length > 0 ) %}
表达式
Expressions can be used in {% blocks %} and ${ expressions }.
Operator Description
== Does the left expression equal the right expression?
+ Convert both arguments into a number and add them.
- Convert both arguments into a number and substract them.
* Convert both arguments into a number and multiply them.
/ Convert both arguments into a number and divide them.
% Convert both arguments into a number and calculate the rest of the integer division.
~ Convert both arguments into a string and concatenate them.
or True if the left or the right expression is true.
and True if the left and the right expression is true.
not Negate the expression.
对于更复杂的操作,最好在括号中包装单个表达式以避免混淆:
{% if (foo and bar) or (fizz and (foo + bar == 3)) %}