Twig 细枝中的三元级联

Twig 细枝中的三元级联,twig,ternary-operator,string-concatenation,Twig,Ternary Operator,String Concatenation,如果某个条件为真,在将一个字符串连接到另一个字符串时,是否可以在细枝中使用三元运算符 这对我很有用: {% set a = 'initial' %} {% if foo == bar %} {% set a = a ~ ' concatenate' %} {% endif %} <p>{{ a }}</p> 但当我试图这样简化它时,它抛出了一个错误: {% set a = 'initial' ~ (foo == bar) ? ' concatenate' :

如果某个条件为真,在将一个字符串连接到另一个字符串时,是否可以在细枝中使用三元运算符

这对我很有用:

{% set a = 'initial' %}
{% if foo == bar %}
     {% set a = a ~ ' concatenate' %}
{% endif %}
<p>{{ a }}</p>
但当我试图这样简化它时,它抛出了一个错误:

{% set a = 'initial' ~ (foo == bar) ? ' concatenate' : '' %}
<p>{{ a }}</p>
是我做错了什么,还是这种简化在细枝中根本不可能实现?

由于需要添加括号的顺序,{%set a='initial'~foo==bar?'concatenate':%}

如果第二部分为空,您甚至可以忽略它,例如

{% set b = 'initial' ~ ((foo == foo) ? ' concatenate') %}
由于顺序不同,您需要添加括号,{%set a='initial'~foo==bar?'concatenate':%}

如果第二部分为空,您甚至可以忽略它,例如

{% set b = 'initial' ~ ((foo == foo) ? ' concatenate') %}