Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
je coince sur un petit truc avec la liste déroulante
Dans mon dossier forms ce qui concerne mon select:
$categorie = new Zend_Form_Element_Select('categorie');
$categorie->setLabel('La catégorie associer: ')
->setRequired(true);
Dans mon controller:
//ici j'insère les données dans la liste dérulante où pour un libellé il y a un identifiant
$liste = $model->listecategorie();
$dataSelect = array();
foreach ($liste as $option ){
$dataSelect[] = array($option['id_categorie_forum'] => $option['lib_categorie_forum']);
}
//génération du formulaire
form = new Form_Administration_Ajouterrubrique(array('action' => $this->view->BaseUrl('ajouter-rubrique-forum.html'),'method' => 'post'));
//categorie est le nom que porte ma liste déroulante
$form->categorie->setMultiOptions($dataSelect);
$this->view->formAjouterRubrique = $form;
Voilou tout fonction bien, quand je regarde mon code source HTML, j'ai bien dans <option></option> le value qui correspond au libéllé indiquer.
Mais à chaque balise <option></option> j'ai ceci:
<optgroup label="0">
<option value="3" label="Site web">Site web</option>
</optgroup>
<optgroup label="1">
<option value="5" label="plop">plop</option>
</optgroup>
et ainsi de suite... je comprends pas pourquoi il un <optgroup> qui apparaît, en plus il a un label qui s'incrémente de +1 à chaque enregistrement
Merci de votre aide!
Zed
Dernière modification par zed (08-02-2010 18:24:11)
Hors ligne
re!
Bon après pas mal de magouille dans tous les sens j'ai trouvé une solution, je sais si c'est 'propre' mais ça fonctionne
voici ma boucle:
foreach ($liste as $option ){
$dataSelect[$option['id_categorie_forum']] = $option['lib_categorie_forum'];
}
++
Hors ligne
A la place de
foreach ($liste as $option ){ $dataSelect[] = array($option['id_categorie_forum'] => $option['lib_categorie_forum']); }
J'aurais utilisé la syntaxe suivante (plus objet):
foreach ($liste as $option ){ $dataSelect[$option->id_categorie_forum] = $option->lib_categorie_forum; }
Hors ligne
Pages: 1