En html normale, nous pourrions avoir un champ de tableau comme person[]
entrée de tableau comme name = « personne [] » sous forme zend
<input name="person[]" type="text" />
<input name="person[]" type="text" />
<input name="person[]" type="text" />
Pour autant que je sache, Zend_Form ne pas. J'ai lu another answer qui a suggéré qu'il pourrait être fait en utilisant un décorateur qui ajouterait le []
au bon endroit. Voici le code pour cette question spécifique
$html = ''; // some code html
$i = 0;
foreach ($element->getMultiOptions() as $value => $label){
$html .= '<input type="checkbox" '
. 'name="'.$element->getName().'[]" '
. 'id="'$element->getName()'-'.$i.'" '
. 'value="'.$value.'" />';
$i++;
}
return $html;
Cela ressemble à un bon début, mais je me demande si vous utilisez un décorateur suffit. Les valeurs renvoyées doivent être lues correctement et envoyées au serveur, puis validées côté serveur. Alors, un décorateur est-il une mauvaise idée? Un élément personnalisé aurait-il plus de sens ici? Je n'ai pas vu un bon exemple qui montre comment cela peut être fait.
Consultez le manuel: http://framework.zend.com/manual/fr/zend.form.advanced.html –