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