php dojo zend-framework2 dgrid zend-form2

php - Uso de dgrid en colecciones de formularios en una aplicación Zend Framework 2



dojo zend-framework2 (1)

En Zend framework versión 2, "Zend / Form" en sí mismo tiene la capacidad de agregar elementos nuevos al "Elemento de colección" dinámicamente.

Puedes comprobarlo here

Para nuestro nuevo proyecto, hemos comenzado a utilizar Zend Framework 2 y Dojo 1.8. ZF2 tiene un módulo de formulario completamente reescrito, que ahora presenta el nuevo elemento CollectionElement para relaciones de uno a varios. En cuanto a la interfaz de usuario, encuentro que dgrid se adapta mejor a tales relaciones (usando el editor editor de la columna), así que empecé a extender los ayudantes de vista FormCollection, FormRow y FormElement, para que puedan representar el dgrid deseado. Todo estuvo bien hasta que me di cuenta de que no puedo establecer nombres de entrada por fila para los widgets dgrid.

Comencé con la documentación de ZF2 rearding form colecciones . Uno puede ver, que los elementos de entrada de la colección tienen nombres similares a matrices, como

order[products][0][name] order[products][0][price] order[products][1][name] order[products][1][price]

Por otro lado, la configuración de dgrid se basa en columnas, por lo que puedo tener una definición de columna como

editor({ field: "_dojo_textbox_505ee3a390d705_26717315", label: "Name", editorArgs: { name: "order[products][{index}][name]", } }, TextBox)

Esta definición de columna definirá establecer el mismo nombre de widget para todas las filas, lo que no funciona con el requisito de formato de datos de recopilación de ZF2.

Lo que también intenté es nombrar la columna así:

order[products][]

Lo que funciona, pero no permite el formato deseado.

order[products][][name]

Tal vez haya una manera de publicar los datos de esta manera:

order[products][name][]

y convertirlo después, pero la solución no se ve bien. Además de esto, estoy tratando de producir código reutilizable y quiero evitar modificaciones de datos por formulario.

Ya que me estoy esforzando por evitar el manejo de eventos onSubmit / onClick para la conversión de datos, hay 2 soluciones posibles: 1. Hacer que dgrid sea capaz de establecer nombres de widgets por fila 2. Hacer que el formulario ZF2 entienda un formato POST diferente al estándar para colecciones

Desafortunadamente, me quedé sin ideas, ¿cómo se puede hacer cualquiera de esas soluciones, así que estaré muy agradecido, si me puede ayudar con esto?

Ya que esto está relacionado de alguna manera con mi pregunta actual, lo pondré aquí como una pregunta complementaria: ¿Qué otra cosa que no sea esta solución de UI usas para las interfaces de uno a muchos con dojo?