Erstellen Sie ein array-input Feld mit symfony2-form-builder
Ich habe ein Problem mit Formular-generator in Symfony2.
Um genau zu sein, ich brauche input Feld, html array, aber ich kann Sie nicht erstellen Sie es mit createFormBuilder->hinzufügen.
Hier ist, was ich versucht habe:
$attributesForm = $this->createFormBuilder()
->add('attribute[0]', 'text') ...
Und so weiter, aber ich bekomme die folgende exception:
Dem Namen "Attribut[0]" enthält unzulässige Zeichen. - Namen sollten mit einem Buchstaben beginnen, >Ziffer oder Unterstrich beginnen und nur Buchstaben, Ziffern, Nummern, Unterstriche ("_"), Bindestrich >("-") und Doppelpunkte (":").
Gibt es eine schöne Lösung oder muss ich schaffen, Felder manuell?
Vielen Dank im Voraus!
EDIT: zu klären, das weitere...
Ich möchte so etwas wie dies generiert werden:
<div id="msoft_adminbundle_offertype">
<div>Name <input type="text" name="name"></div>
<div>...</div>
<div>Attribute 0 <input type="text" name="attribute[0]"></div>
<div>Attribute 1 <input type="text" name="attribute[1]"></div>
<div>Attribute 3 <input type="text" name="attribute[3]"></div>
<ul>
</ul>
<p>
<button type="submit">Edit</button>
</p>
Helfen?
InformationsquelleAutor markoub | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen, die ein array der Eingabefelder mit der "collection" -Feld geben.
Dokumentation darüber, wie es verwenden, können hier gefunden werden:
Dokumentation von Sammlungen
Wenn das nicht klar genug ist oder Sie noch Fragen haben, gerne werde ich Ihnen helfen, mit Ihnen.
Sorry, weitere Hinweise... :-/ Es stellt sich heraus, ich brauche etwas einfacher... ich habe sehr spezifische Liste von Attributen der Benutzer kann für jeden Angebot, und ich will nur Sie aufgeführt als "Attribut[0]", "Attribut[1]", und so weiter. Eigentlich, brauche ich auch die Verwendung der verschiedenen array-Indizes, aber es ist nicht so wichtig. Also, um es zusammenzufassen, dies ist komplizierter, es erlaubt mir die option Benutzer hinzufügen erstellen Sie neue Formen innerhalb der Formen, der mit dem Satz der Felder. Ich will einfach nur, um statt der Namen "attribute_1", "attribute_2" und so weiter -, Attribut-array.
Es ist mir nicht klar, was Sie eigentlich wollen. wenn Sie könnte Beispiel-code (html -) Formular, wie Sie es wollen, die generiert werden, vielleicht kann ich dir weiter helfen.
Ich fügte hinzu, die Erklärung im original-post... 🙂
Ich glaube nicht, dass Sie einfach überspringen können Indizes wie die. Aber der rest ist es genau das, was die
collection
geben tut.InformationsquelleAutor Mats Rietdijk
Als die Vorherige Antwort Staaten, verwenden Sie den collection-Typ oder eine verschachtelte form, wobei jedes Feld entspricht einem Eintrag des Arrays. Und in Fällen, in denen Sie nicht können/nicht wollen zu tun, können Sie das folgende tun:
InformationsquelleAutor Bernhard Schussek
Außerdem können Sie ovveride Feld in TWIG. Beispiel:
Schritt, wo ist dein index.
InformationsquelleAutor user1156168