J'essaie de créer un formulaire en utilisant le composant Zend_Form, mais le nombre d'éléments varie. Les informations pour chaque élément Zend_Form sont stockées dans une base de données (nom, options, validateurs, filtres, etc.).Chargement de modèles dans Zend_Form à l'aide de Zend Framework
L'application sur laquelle je travaille consiste à construire des enquêtes qui contiennent un nombre variable de questions. Chaque question est associée à différents tableaux de réponses. En fin de compte, mon but est de construire des tableaux de boutons radio/checkbox, dynamiquement, côté serveur.
Je suis à la recherche d'une jolie façon de générer mon formulaire, mais je ne suis pas sûr de la meilleure façon de charger le modèle dans le formulaire. Le modèle doit-il être chargé dans le contrôleur, puis passé (en quelque sorte, via un paramètre?) Directement au formulaire, ou est-il préférable de charger le modèle dans la méthode Form init()? Où est le meilleur endroit pour mettre la logique, devrait-il être dans la classe de formulaire, ou dans le contrôleur, ou dans le modèle?
Mon idée est d'extraire les propriétés des éléments de formulaire (nom, règles, filtres, etc.) dans la base de données, puis de parcourir et de restituer le formulaire. Que pensez-vous de cette approche? En fin de compte, les éléments seront ajoutés dynamiquement (côté client), cette fois, en utilisant AJAX et une bibliothèque JavaScript (comme jQuery).
Voici quelques liens utiles que j'ai trouvé via Google, mais je pense tous répondre à une question légèrement différente de la mienne:
Sur la construction de formes dynamiques, côté serveur:
- http://framework.zend.com/wiki/display/ZFPROP/Zend_Form+generation+from+models+-+Jani+Hartikainen
- http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html
- http://codeutopia.net/blog/2009/01/07/another-idea-for-using-models-with-forms/
Sur la construction de formes dynamiques, côté client, avec traitement AJAX:
wow, c'est quelque chose que je cherchais partout. Heads up mate pour partager cette logique. –