2016-05-25 9 views
1

ich eine einfache Form haben eine Liste in Abhängigkeit von Themen zu filtern:Symfony | Zweig erhalten Daten Feld, wenn Anzeigeform

$builder 
     ->add('themes', EntityType::class, array(
      'class' => 'XXBundle:Theme', 
      'choice_label' => 'image', 
      ... 
     )) 
     ->add('save', SubmitType::class) 
    ; 

Und in Twig ich versuchen, alle Themen zugreifen eine bestimmte tun machen, in der Tat würde Ich mag um Bild (bezogen auf jedes Thema: theme.image) anstelle des Themas anzuzeigen.

Ich folgte andere Lösungen: Symfony2 + CreateFormBuilder how to render an image in a form

Aber es funktioniert nicht:

form.vars.value.themes/form.vars.data.themes (or form.themes.vars.value/form.themes.vars.data this is the same) 

existiert, ist aber immer leer. Weil das eine neue Form ist. Wenn ich das Formular abschicke, funktioniert es form.vars sind nicht mehr leer.

Wie kann ich Themen erhalten, wenn ich das Formular zum ersten Mal anzeige? Ich folgte dem Dokument (http://symfony.com/doc/current/reference/forms/twig_reference.html#form-variables-reference), aber ich kann nicht finden, was ich will.

TY

+0

Versuchen mit 'form.themes.choices' (abgeleitet von Choice) – Matteo

+0

Ty für Ihre Antwort. "Themen" ist ein EntityType, bist du sicher? Ursache Ich bekomme "Methode" Auswahlen "für Objekt" Symfony \ Component \ Form \ FormView "existiert nicht" – Aximem

+1

Sorry, ich habe es nicht versucht. Versuchen Sie es mit 'form.themes.vars.choices' – Matteo

Antwort

1

Grundsätzlich ist die EntityType eine Liste der Entscheidungen - form.themes.vars.choices. Es ist ein Array von ChoiceView, mit dem Entitäten einfach auf öffentliche Dateneigenschaften zugreifen können.

So diese Eigenschaft nutzen, um die Einheiten zuzugreifen:

form.themes.vars.choices 

Zugänglichere Attribute sind in dem doc here aufgeführt.

Hope this Hilfe

Verwandte Themen