5

Estoy armando un Zend_Form que tiene numerosos SubForms. De hecho, tiene el potencial de tener tantos subformularios, me gustaría que aparezcan en varias páginas. ¿Es posible usar Zend_Paginator para crear una forma de varias páginas de un número dinámico de páginas?Zend_Form & Pagination

Aquí hay un ejemplo más concreto. Estoy creando una página donde alguien puede editar los metadatos en numerosas fotografías en una sola galería. Por lo tanto, presionan editar y extrae todas las imágenes de la base de datos. La página es un formulario maestro y cada una de las imágenes se coloca en un subformulario. Esto funciona muy bien si solo quiero una página y todos aparecen. Tengo eso funcionando bien.

Ahora, digamos que hay 200 imágenes. Claramente, no quiere que todas las 200 imágenes se carguen a la vez, por lo que me encantaría que el usuario pueda hojear 20 imágenes a la vez. Realmente no me importa si las páginas se procesan una a la vez o si los valores se almacenan hasta que terminan como un verdadero formulario de varias páginas y luego se procesan todos a la vez.

He intentado pasar los datos de imagen a un paginador y luego agregar dinámicamente el subformulario dentro de un bucle parcial. Esto es un problema porque dentro del bucle parcial en la vista, no puede ver el formulario maestro al que necesito acceder para agregar el subformulario ($ this-> form-> addSubform()).

La siguiente idea es crear manualmente un paginador utilizando Límites en la consulta de DB y dejarlo pasar por los datos de esa manera. No es ideal, pero creo que funcionaría.

¿Alguna idea sobre una integración más suave? ¡Gracias por la ayuda!

Respuesta

1

Creo que Zend_Paginator es una buena solución para usted. Con un adaptador Zend_Db_Select o Zend_Db_Table_Select puede recuperar solo la menor cantidad de datos necesarios para mostrar la página actual.

Sin embargo, formularios de varias páginas no son compatibles con zend framework todavía. Pero parece que hay una solución: http://framework.zend.com/manual/en/zend.form.advanced.html#zend.form.advanced.multiPage

En la actualidad, las formas de varias páginas no son apoyado oficialmente en Zend_Form; sin embargo, la mayoría de la ayuda para implementar está disponible y se puede utilizar con un poco de herramientas adicionales.

Podría pensar en usar solo javascript y jQuery para manejar la edición de la información de la imagen. Simplemente defina sus formularios directamente en su html y acceda a él con jQuery.