Estoy tratando de crear un módulo de back-end, en el que en mi página de edición uso el admin-2column-left
diseño.
Quiero tener un formulario en cada pestaña, pero no entiendo cómo puedo hacer esto.
Idealmente, me gustaría saber cómo asignar diferentes formularios uiComponents
a diferentes pestañas, o cómo puedo definir uno uiComponent
para mi formulario, pero poder asignar qué conjunto de campos va en cada pestaña.
Mi situación específica, que provoca esta pregunta, es que quiero tener un formulario estándar en una pestaña (múltiples entradas de texto), y en otra pestaña, quiero tener un dynamicRows
componente de interfaz de usuario. Hemos llamado a estas pestañas Main y Line Items.
Actualmente, estoy implementando esto de la siguiente manera: Main se define en el
_prepareForm
método dentro de su bloque, que es una extensión de claseForm\Generic
. Este formulario aparece y funciona bien hasta que agregue las filas dinámicas.
Mi archivo de diseño tiene código para agregar la pestaña Principal y asignar bloque de contenido. También tiene un contenedor llamado line_items
, que contiene un uiComponent
para el formulario que contiene filas dinámicas.
La pestaña Elementos de línea se crea en el _beforeToHtml
método de Widget\Tab
, y su contenido se asigna mediante una llamada a getChildHtml
un contenedor line_items.
La pestaña funciona y se completa con la estructura correcta, lo que me permite agregar y eliminar filas.
El problema es que cuando envío la página, solo se envían las entradas en la pestaña Elementos de línea.
Así que sé que no lo configuré correctamente y necesito alguna forma de indicarle que realice un seguimiento y envíe todos los elementos del formulario. La mayor parte de esta implementación se deriva de mis intentos de aplicar ingeniería inversa a la configuración del formulario de Atributos del producto de categoría, que es similar a lo que quiero hacer.
Alguien tiene idea al respecto?
Respuestas:
Use el siguiente código para crear pestañas con una sola forma usando el componente UI
Crear un elemento de formulario
Este código mostrará 2 pestañas en el formulario con los campos de formulario asociados.
Espero que esta solución funcione para ti
fuente