2012-09-23 3 views
24

Para nuestro nuevo proyecto, hemos comenzado a usar 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 muchos. En cuanto a la IU, encuentro que dgrid se adapta mejor a esas relaciones (usando el plugin de la columna del editor), así que comencé a ampliar los ayudantes de vista de FormCollection, FormRow y FormElement, de modo que pueden representar la cuadrícula deseada. Todo estuvo bien hasta que me di cuenta de que no puedo establecer nombres de entrada por fila para los widgets de dgrid.Usando dgrid en colecciones de formularios en una aplicación de Zend Framework 2

Empecé con ZF2 documentation rearding form collections. Uno puede ver, que los elementos de entrada colección tienen nombres de matriz similar a 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 la columna, por lo que puede 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 la colección ZF2.

Lo que también probé es nombrar a la columna de la siguiente manera:

order[products][] 

que funciona, pero no permite el formato deseado

order[products][][name] 

Tal vez hay una manera de publicar los datos como estos :

order[products][name][] 

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

Desde que estoy tratando muy duro para evitar evento onSubmit/onClick manejo para la conversión de datos, hay 2 posibles soluciones: 1. Hacer dgrid capaz de establecer nombres de widgets por fila forma ZF2 2. Poner a entender algunos otros- than-standard POST format for collections

Lamentablemente me quedaron sin ideas, como cualquiera de esas soluciones se puede hacer, así que le agradeceré mucho, ¡si puede ayudarme con esto!

Dado que esto está relacionado de alguna manera con mi pregunta actual, la colocaré aquí como una pregunta complementaria: ¿Qué otra solución de UI utiliza para las interfaces de forma uno a uno con dojo?

Respuesta

1

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

Puede verificarlo here

Cuestiones relacionadas