Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'essaie actuellement d'afficher des MultiCheckbox dans un tableau double-entrée mais j'ai des problèmes avec les Decorator et les View_Helper associés.
Ce que je veux obtenir au final (à peu près) :
<form> <table> <thead> <td>{Texte de la Checkbox n°1 (eg. Lecture)}</td> <td>{Texte de la Checkbox n°2 (eg. Ecriture)}</td> <td>{Texte de la Checkbox n°3 (eg. Suppression}</td> </thead> <tbody> <!-- Boucle: Pour chaque MultiCheckbox --> <tr> <td>{Label du MultiCheckbox (eg. Droits de l'utilisateur MARTIN Pierre)}</td> <td>{Checkbox n°1 du MultiCheckbox}</td> <td>{Checkbox n°2 du MultiCheckbox}</td> <td>{Checkbox n°3 du MultiCheckbox}</td> </tr> <!-- FinBoucle --> </tbody> </table> </form>
Chaque Zend_Form_Element_MultiCheckbox a un nom qui lui est propre mais la value et le texte de chaque checkbox des MultiCheckbox sont les même.
Je suis arrivé à mettre le <form> dans un <table> ainsi :
$form->setDecorators(array( 'FormElements', array( 'HtmlTag', array( 'tag' => 'table', 'class' => 'zend_form' ) ), 'Form', ));
Et à mettre chaque MultiCheckbox dans une ligne de ce tableau et chaque checkbox des MultiCheckbox dans une cellule dédiée de cette ligne :
$currentMulticheckbox->setSeparator('</td><td>'); $currentMulticheckbox->setDecorators(array( 'ViewHelper', 'Errors', array(array('data' => 'HtmlTag'), array('tag' => 'td')), array('Label', array('tag' => 'td')), array(array('row' => 'HtmlTag'), array('tag' => 'tr')), ));
Mais je n'arrive pas à faire le <thead> (j'ai déjà, par ailleurs, les textes que je veux afficher : "Lecture", "Ecriture", "Suppression").
Plus j'y songe et plus je me dit que je devrais peut-être faire mon propre Zend_View_Helper_ mais là non plus je ne sais pas par où commencer : étendre Zend_View_Helper_FormMultiCheckbox ou bien créer un Decorator pour le Zend_Form_Element_MultiCheckbox ?.
Dernière modification par _Raynor_ (24-02-2009 15:12:34)
Hors ligne
Pages: 1