2017-02-02 6 views
1

Zum Beispiel möchte ich dies tun.So passen Sie die Form von SonataAdminBundle an

A. Karte anstelle von Breiten- und Höheneigenschaft anzeigen.

B. Zeigen Sie Miniaturbilder von Bildern anstelle von Auswahlfeld für Bilder.

Ich kann diese Art von Dingen für Liste Bildschirm wie folgt tun.

public function configureListFields(ListMapper $listMapper) 
{ 
    $listMapper 
     ->addIdentifier('id') 

     ->add('map',null,array('template' => 'AcmeAdminBundle:MyTemplate:list_map.html.twig', 
       'property_path' => false 
     )) 

Nach der Vorlage überschreiben und dann ist es möglich, die Karte zeigen oder einige komplexe Dinge in meinem ursprünglichen list_map.html.twig tun

Jetzt möchte ich aber die gleiche Sache mit Formular, um zu versuchen,‘ FormMapper hat keine "Template" -Option.

Also überschreibe ich die form_admin_fields.html.twig und bearbeite einige Orte, aber es ändert nicht die einzelnen Objekte der Form.

Auch ich lösche den gesamten Code in form_admin_fields.html.twig. (macht die leere Datei)

Es ändert nur das Layout des Formulars.

Ich möchte jedes Textfeld anpassen oder Formularfeld auswählen.

Wo soll ich beginnen, Formularseite in SonataAdminBundle anzupassen?

Antwort

1

Versuchen Sie benutzerdefinierte Feldtyp für diese zu schaffen, wie here

+0

HALLO @Andrey Kazmerchuk, vielen Dank für Ihren Rat, habe ich verstanden, wie benutzerdefinierte Feld zu machen. Allerdings habe ich immer noch Schwierigkeiten, benutzerdefinierte Felder im Sonat Admin Bundle zu verwenden. Aber dein Rat bringt mich voran. Danke. – whitebear

+0

Gern geschehen. FormMapper im Sonata-Admin-Bundle funktioniert wie die übliche Symfony-Form, daher sollte mein Link ausreichen. Sie erstellen einfach einen benutzerdefinierten Feldtyp und eine benutzerdefinierte Vorlage und registrieren sie als Service. Danach kann es problemlos in FormMapper verwendet werden. –

Verwandte Themen