Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir,
Je souhaite mettre en place pour l'une de mes applications un formulaire segmenté en plusieurs "sous-formulaires" (subform), dont l'un d'entre eux, qui ne contient qu'un élément Zend_Form_Element_Checkbox, doit être présenté de cette façon (en gros) :
<table> <thead> <tr> <th> </th> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" id="item_2" name="items[]" value="1" /></td> <td>Item 1</td> <td>Description 1</td> </tr> <tr> <td><input type="checkbox" id="item_2" name="items[]" value="2" /></td> <td>Item 2</td> <td>Description 2</td> </tr> ... </tbody> </table>
Etant donné les avantages non négligeables qu'offre Zend_Form, est-il possible à l'aide des décorateurs d'obtenir un tel rendu sur un subform ? Est-ce que le décorateur ViewScript peut rendre cela possible ?
Chacune des options (ici "Item 1" et "Item 2") doit contenir son nom et sa description. Est-ce que la méthode "setMultiOptions" offre cette possibilité ?
Quelqu'un a-t-il déjà travaillé sur cette "problématique" ?
Merci d'avance pour vos réponses
Dernière modification par acharrex (05-08-2010 20:51:20)
Hors ligne
Salut,
Actuellement les multioptions n'acceptent que des couples clé/valeurs. Si on a besoin de rajouter d'autres données au niveau des options, il faut soit faire une classe dérivé qui modifie les fonctions de création des "options" ainsi que le stockage des "options" plus un/des decorateur(s) pour gérer les nouveaux éléments, soit utiliser un composant de base non "multioptions" par option avec un/des decorateur(s) personnalisés plus éventuellement un displaygroup (et ses décorateurs).
A toi de voir ce la solution la plus pratique dans ton cas.
Hors ligne
Merci pour ta réponse
Effectivement en créant une checkbox par "option", je pourrais utiliser les méthodes "setLabel" pour le nom de l'option et "setDescription" pour sa description.
Dans mon cas, et étant donné que mon subforms ne contient que ces checkbox, la récupération des données n'est pas un problème.
C'est un peu du bricolage mais pour une solution temporaire ça fonctionne bien
Dernière modification par acharrex (07-08-2010 17:28:56)
Hors ligne