2017-06-26 2 views
0

Est-il possible d'utiliser un opérateur ternaire dans Twig lors de la concaténation d'une chaîne à une autre si certaines conditions sont vraies?Concaténation ternaire dans Twig

Cela fonctionne pour moi:

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

Mais lorsque je tente de le simplifier comme ça, il renvoie une erreur:

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

que je fais quelque chose de mal ou cette simplification est tout simplement impossible dans Twig?

Répondre

1

en raison de l'ordre de priorité que vous aurez besoin d'ajouter paranthèses,
{% set a = 'initial' ~ ((foo == bar) ? ' concatenate' : '') %}

+0

C'est, merci – cincplug