2017-07-07 6 views
0

Wie kann ich mit Symfony 3 die Formulareigenschaft bestellen?symfony 3 formbuilder bestelleigenschaften

In meiner BookType-Klasse füge ich meine Eigenschaften in meiner benutzerdefinierten Reihenfolge hinzu, aber wenn es gerendert wird, wird das Formular in einer anderen Reihenfolge angezeigt. Warum?

class BookType extends AbstractType{ 

    public function buildForm(FormBuilderInterface $builder, array $options){ 

     $builder 
     ->add('title') 
     ->add('author') 
     ->add('pages') 
     ->add('published_date') 
     ->add('views'); 

    } 

} 

Und das ist das Ergebnis:

  • Autor
  • Titel
  • Seiten
  • Ansichten
  • published_date

Thx im Voraus

+0

Allgemeinen niemand jemals verwendet die Formularkomponente, wie ist. Sie sollten jede Zeile separat in Ihrer Ansicht darstellen. – Doug

+0

Ich kann nicht glauben, dass ein Bestelldienstprogramm in FormConfigurator nicht erwartet wird. – mardif

+0

Liegt es daran, dass sich Ihre Entität in einer anderen Reihenfolge befindet? Selbst wenn dies der Fall ist, besteht die Idee eines MVC darin, die Ansichtslogik von der Geschäftslogik zu trennen. In der Ansicht legen Sie fest, wie eine Seite aussehen soll, dazu gehört auch die Reihenfolge der Formulare. – Doug

Antwort

0

Sie können Ihr Formularergebnis anpassen, indem Sie form_row (form.author) für jedes Feld verwenden, das Sie anzeigen müssen. dort haben Sie einen Blick:

https://symfony.com/doc/current/form/form_customization.html#form-rendering-basics

+0

Sicher, wenn ich meine Zweig-Dateien ändern, aber ich würde Reihenfolge der Eigenschaften von FormBuilder – mardif

+0

In müssen Fall form_widget (Formular) sollte alle Felder wie in Ihrem form_builder beschrieben – Timan