2016-08-04 1 views
0

Je semble avoir un petit problème avec la configuration des hachages à l'intérieur d'un Twig. Je veux utiliser un objet de hachage pour préparer des données, pour les renvoyer plus tard via la réponse JSON (dans Symfony3).Twig - mise en place d'un hachage avec des clés nommées indirectement

Avec un exemple simple, mon code est la suivante:

{% set someName = 'Lola' %} 
{% set hashObject = {someName : 'someValue'} %} 
{{ dump(hash) }} 

je voudrais le hashObject d'avoir une valeur de {'Lola': 'someValue'}, mais, si j'exécute ces 3 lignes d'en haut, je vais obtenir le {'someName': 'someValue'} . Donc, Twig devine que ma variable est en fait une chaîne et l'utilise comme une valeur littérale (comme dans un cauchemar honteux de PHP-sans-erreur-reporting :)).

Je suppose qu'il doit y avoir un bon moyen de contourner cela, mais je n'arrive pas à le trouver. Aidez-moi?

+0

Copie possible de [noms de variables dynamiques Twig] (http://stackoverflow.com/questions/15560280/dynamic-twig-variable-names) – goto

Répondre

1

Désolé pour le spam automatique, mais - comme cela arrive souvent - j'ai trouvé une réponse dès que j'ai demandé à quelqu'un. La solution consiste à utiliser la parenthèse autour du nom de la clé.

{% set someName = 'Lola' %} 
{% set hashObject = {(someName): 'someValue'} %} 
{{ dump(hash) }} 

C'est en fait une solution soignée. Merci, l'équipe de Twig. :)