2017-10-05 7 views
1

J'essaie de définir un attribut de données pour un bouton de sauvegarde, mais il n'aime pas les accolades imbriquées. Je reçois une erreur sur la ligne "### THIS LINE".Accolades imbriquées dans twig (symfony)

{% for file in payment.files %} 
    <br> 
    <li> 
     ... 
     ... etc... 
     ... 
     {{ form_widget(file.save, {'attr':{'data-file-id': {{ file.id}} } }) }} ###THIS LINE 

    </li> 
{% endfor %} 

L'erreur que je reçois est:. Une clé de hachage doit être une chaîne entre guillemets, un numéro, un nom ou une expression entre parenthèses (jeton inattendu « ponctuation » de valeur « { »

Je suppose que ce n'aime pas les accolades imbriquées

Toute aide est grandement appréciée

+0

Essayez ceci: '{{form_widget (file.save, { 'attr': { 'data-file-id': fichier. id}})}} '(vous êtes déjà dans une instruction twig lorsque vous ajoutez' fichier.id' comme paramètre) – YaatSuka

+0

Salut YaatSuka, qui donne cette erreur: Une exception a été levée lors du rendu d'un template ("Catchable Fatal Erreur: L'objet de la classe Symfony \ Component \ Form \ FormView n'a pas pu être converti en chaîne "). –

Répondre

0

Essayez de convertir file.id en chaîne:..

{{ form_widget(file.save, {'attr':{'data-file-id': file.id.__toString } }) }} 
+0

Cela me donne ceci: Ni la propriété "__toString" ni l'une des méthodes "__toString()", "get__toString()"/"is__toString()"/"has__toString()" ou "__call()" existent et ont un public accès dans la classe "Symfony \ Component \ Form \ FormView". –

+0

Ensuite: '{{form_widget (fichier.save, {'attr': {'ID-fichier-données':"% d "| format (fichier.id)}})}}' – YaatSuka

-2

Essayez:

{{ form_widget(file.save, {'attr': {'data-file-id': file.id|string } }) }} 
+0

Ensuite, je reçois juste le même erreur, mais sur ** que ** ligne –

+0

Basé sur la documentation de l'exemple: {# afficher un widget, mais lui ajouter une classe "foo" #} {{form_widget (form.name, {'attr': {'class': 'foo'}}}}} – PaulELI

0

Il suffit de l'essayer:

{{ form_widget(file.save, {'attr':{'data-file-id': file.id } }) }}