Estoy haciendo una aplicación para realizar solicitudes de productos. Consiste básicamente en una serie de formularios. El usuario inicia con una pantalla, rellena cierta información, para a otra pantalla donde dependiendo de los valores muestra otro formulario y así sucesivamente, hasta que se llega a un punto donde se guarda en la BD la información recopilada.
Un esquema podría ser este.
Código:
INICIO - - - - - - - - - - - - - - - > PANTALLAS - - - - - - - - - - - > FIN
+ - - > Formulario 2.1 - - > Formulario 3.1 - - - - - - - - -+ - - > GUARDAR
Formulario 1 - - > - | |
| + - - > Formulario 3.2 - - +
+ - - > Formulario 2.2 - - > - | |
+ - - > Formulario 3.3 - - +
El asunto, es que se debería permitir la navegación entre pantallas (formularios) conservando la información previamente guardada. Vengo a consultar si alguien tiene algún consejo / experiencia de cómo manejar esto para facilitar la tarea asegurando la persistencia e integridad de la información.
Los formularios están hechos con HTML (no utilizo Zend_Form), como ORM utilizo Propel (por si hay algo como guardar el objeto de propel en sesión sin hacer un "save()"). A grandes rasgos tengo la idea de utilizar Zend_Session, ocupando un namespace por pantalla, pero no tengo muy clara la idea de cómo asignar todos los campos en sesión para posteriormente pasarlo a la vista, pueden ser muchos campos por formulario, quizá haya algo más simple.
Gracias de antemano.