Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-05-2009 11:37:34

Salt
Nouveau membre
Date d'inscription: 18-05-2009
Messages: 4

[Zend_Form][1.8.1]Prob Select au rendu

Bonjour tout le monde, je rencontre un soucis avec le framework et les formulaires.
J'essaie de faire un form avec un select dont les options sont en db mais les <options> affichées de mon <select> ne sont pas celles attendues.

Voilà le code généré :

Code:

<select name="locationId" id="locationId" required="1">
    <optgroup label="options">
    <option value="1" label="Home" selected="selected">Home</option>

    </optgroup>
    <option value="listsep" label="&lt;br /&gt;">&lt;br /&gt;</option>
    <option value="id" label="locationId">locationId</option>
</select>

Or, le code attendu devrait être

Code:

<select name="locationId" id="locationId" required="1">
    <option value="1" label="Home" selected="selected">Congrescentrum Ter Elst</option>
</select>

Voilà comment je fais tout ça (j'ai retiré le code non concerné)

Code:

// form
class Default_Form_Congress extends Zend_Dojo_Form
{

        $this->addElement('select', 'locationId', array(
            'label'      => 'Location',
            'required'   => true,

        ));
        $location = new Default_Model_Location();
        $data = array();
        $entries = $location->fetchAll();
        foreach($entries as $entry) {
            $data[$entry->id] = $entry->title;
        }
        $this->locationId->setMultiOptions($data);

}

J'ai remarqué que le view helper reçoit comme paramètre options, l'array suivant

Code:

Array
(
    [options] => Array
        (
            [1] => Home
        )

    [listsep] => <br />
    [id] => locationId
)

et au vu du code de ce helper, il devrait recevoir

Code:

Array
(
     [1] => Home
)

C'est un bug du framework ou je fais pas ça correctement? Je peux corriger moi-même dans la library mais ça ne m'enchante pas trop. Surtout si c'est moi qui fait quelque chose de travers wink

Dernière modification par Salt (18-05-2009 11:42:35)

Hors ligne

 

#2 18-05-2009 12:09:26

iop974
Membre
Date d'inscription: 27-02-2009
Messages: 72

Re: [Zend_Form][1.8.1]Prob Select au rendu

As tu essayer
addMultiOptions(array $options) ?

Car le set va ecraser les options existante alors que le add va just les ajouter

Hors ligne

 

#3 18-05-2009 12:14:01

Salt
Nouveau membre
Date d'inscription: 18-05-2009
Messages: 4

Re: [Zend_Form][1.8.1]Prob Select au rendu

Oui, le problème reste le même. J'avais mis un addMultiOptions au début mais comme j'ai un prob, j'ai essayé avec le setMultiOptions (qui convient mieux à ce cas-ci d'ailleurs).

Hors ligne

 

#4 18-05-2009 12:24:47

iop974
Membre
Date d'inscription: 27-02-2009
Messages: 72

Re: [Zend_Form][1.8.1]Prob Select au rendu

Ok
Personnellement moi j'utilise zend_dojo et la pas de soucis tu as bien

Code:

<select>
<option> </option>....
</select>

Pour une idée :

Code:

        $combobox = new Zend_Dojo_Form_Element_Combobox('select',
                    array(
                        'label'        => 'ComboBox (select)',
                        'value'        => 'blue',
                        'autocomplete' => false,
                        'multiOptions' => $multiOptions, //mon array 
                        ));

Par contre faut activer dojo dans le boostrap et le <head> dans la doc c'est bien expliquer

Hors ligne

 

#5 18-05-2009 12:35:05

Salt
Nouveau membre
Date d'inscription: 18-05-2009
Messages: 4

Re: [Zend_Form][1.8.1]Prob Select au rendu

Je vais faire ça en attendant mais si quelqu'un a une idée, je reste preneur.

Hors ligne

 

#6 18-05-2009 16:03:41

gostbuster
Membre
Date d'inscription: 11-03-2009
Messages: 160

Re: [Zend_Form][1.8.1]Prob Select au rendu

Salut,

j'ai moi aussi été confronté à ce genre de soucis, alors j'ai fait la chose suivante :

Dans mon modèle je définie une fonction static qui a pour but de me construire mon tableau :

Code:

    public static function arrayListe()
    {
        $cat=new Categorie();
        $cat=$cat->fetchAll();
        $tab=array();
        $tab[0]="Selectionner une catégorie";
        foreach($cat as $c)
        {
        $tab[$c->id]=$c->nom;
        }
        
        return $tab;
    }

je fais donc ensuite :

monchamp->addMultiOptions(MonModele::arrayListe());

et voilà!


Gostbuster - Développeur WEB

Hors ligne

 

#7 18-05-2009 17:38:22

Salt
Nouveau membre
Date d'inscription: 18-05-2009
Messages: 4

Re: [Zend_Form][1.8.1]Prob Select au rendu

La construction de l'array à passer en paramètre à setMultiOptions est bien correcte. En tous cas, ça dump le bon contenu quand je dump l'array.
C'est entre l'ajout des options et le rendu de celui-ci qu'il a un truc qui ne va pas, mais quoi? big_smile

Hors ligne

 

#8 19-05-2009 09:26:34

gostbuster
Membre
Date d'inscription: 11-03-2009
Messages: 160

Re: [Zend_Form][1.8.1]Prob Select au rendu

Peut tu faire un screen de ta select box déroulée stp?


Gostbuster - Développeur WEB

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages