Ich versuche ein Backend-Modul zu erstellen, wobei ich auf meiner Bearbeitungsseite das admin-2column-left
Layout verwende.
Ich möchte auf jeder Registerkarte ein Formular haben, verstehe aber nicht, wie ich das machen kann.
Idealerweise würde ich gerne wissen uiComponents
, wie ich verschiedenen Registerkarten unterschiedliche Formulare zuweisen oder wie ich eines uiComponent
für mein Formular definieren kann , aber in der Lage sein, zuzuweisen, welcher Feldsatz auf welche Registerkarte passt.
Meine spezielle Situation, die diese Frage aufwirft, besteht darin, dass ich ein Standardformular auf einer Registerkarte (mehrere Texteingaben) und auf einer anderen Registerkarte eine dynamicRows
UI-Komponente haben möchte . Wir haben diese Registerkarten Haupt- und Werbebuchungen genannt.
Derzeit implementiere ich dies wie folgt: Main ist in der
_prepareForm
Methode in ihrem Block definiert, der eine Klassenerweiterung istForm\Generic
. Dieses Formular wird angezeigt und funktioniert einwandfrei, bis ich die dynamischen Zeilen hinzufüge.
Meine Layoutdatei enthält Code zum Hinzufügen der Registerkarte "Main" und zum Zuweisen eines Inhaltsblocks. Außerdem gibt es einen Container mit dem Namen line_items
a uiComponent
für das Formular, das dynamische Zeilen enthält.
Die Registerkarte Werbebuchungen wird in der _beforeToHtml
Methode von erstellt Widget\Tab
, und ihr Inhalt wird mithilfe eines Aufrufs für getChildHtml
einen Container line_items zugewiesen.
Die Registerkarte funktioniert und ist mit der richtigen Struktur gefüllt, sodass ich Zeilen hinzufügen und entfernen kann.
Das Problem ist, dass beim Senden der Seite nur die Eingaben auf der Registerkarte Werbebuchungen gesendet werden.
Ich weiß also, dass ich das nicht richtig eingerichtet habe, und brauche eine Möglichkeit, es anzuweisen, alle Formularelemente zu verfolgen und zu übermitteln. Der größte Teil dieser Implementierung ist auf meine Versuche zurückzuführen, das Setup des Formulars "Kategorie-Produktattribute" zurückzuentwickeln, ähnlich dem, was ich tun möchte.
Hat jemand eine Ahnung davon?
Antworten:
Verwenden Sie den folgenden Code, um Registerkarten mit einem einzelnen Formular mithilfe von UI-Component zu erstellen
Erstellen Sie ein Formularelement
Dieser Code zeigt 2 Registerkarten im Formular mit den zugehörigen Formularfeldern an.
Hoffe, diese Lösung funktioniert für Sie
quelle