2017-06-26 4 views
0

Ist es möglich, in Twig einen ternären Operator zu verwenden, wenn eine Zeichenfolge an eine andere verkettet wird, wenn eine Bedingung erfüllt ist?Ternäre Verkettung in Zweig

Dies funktioniert für mich:

{% set a = 'initial' %} 
{% if foo == bar %} 
    {% set a = a ~ ' concatenate' %} 
{% endif %} 
<p>{{ a }}</p> 

Aber wenn ich versuche, es so zu vereinfachen, wirft er einen Fehler:

{% set a = 'initial' ~ (foo == bar) ? ' concatenate' : '' %} 
<p>{{ a }}</p> 

Bin ich etwas falsch oder diese Vereinfachung zu tun ist einfach nicht möglich im Zweig?

Antwort

1

aufgrund der Rangordnung Sie Klammern hinzuzufügen benötigen,
{% set a = 'initial' ~ ((foo == bar) ? ' concatenate' : '') %}

+0

Das ist es, dank – cincplug