Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-02-2008 14:21:54

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

[Résolu] Zend_Form liste choix multiple

bonjour alors j'ai du mal lire la doc mais j'arrive pas a faire une liste a choix multiple  a chaque fois cela me ressort une liste normal


voila  mon code :

Code:

 $select=new Zend_Form_Element_Multiselect("liste_action");
      $select->setLabel("Liste des actions :");
      $i=0;
      foreach($action as $info){
      
     
          $select->addMultiOption($info["id_action"],$nom_controlleur["nom_controlleur"]."=>".$info["nom_action"]);
      }

j'ai essayer avec  addMultiOptions en passant un array en param et  même probléme .

Merci de votre aide

Dernière modification par Mr.MoOx (12-02-2008 10:16:29)


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#2 11-02-2008 14:54:07

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Je pense qu'un petit  tour dans le code du zf t'aidera peut être si tu arrive à y voir clair smile
Perso j'ai pas encore fait des select multiples :s

Hors ligne

 

#3 11-02-2008 15:02:29

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

Ba justement j'ai essayer de plonger ds le code et si je vient poster ici c'est que je ne trouve pas lol


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#4 11-02-2008 15:28:24

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Tout le monde n'ose pas forcément regarder pas le code...

Ce que tu appelles multiples selects c'est une liste non déroulante ou on peux selectionner plusieurs items en faisant CTRL? Dans ce cas, as tu pensé à définir l'option size (qui determine le nombre de lignes du select)?

Hors ligne

 

#5 11-02-2008 15:32:48

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

oui c'est bien ce genre de liste et l'option size ? je voit pas comment l utiliser tu peux expliquer stp ?


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#6 11-02-2008 15:43:36

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

En somme sur un form y a une fonction addAttribs mais elle semble ne pas exister sur un Element


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#7 11-02-2008 15:53:53

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Pourtant sur le view helper il y'a a la possibilité de rajouter des attributs

Code:

public function formSelect($name, $value = null, $attribs = null, $options = null, $listsep = "<br />\n")

Tu va y arriver wink

Hors ligne

 

#8 11-02-2008 16:02:51

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

alors la par contre va falloir m'aider car le viewhelper sa me parle pas bcp  lol


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#9 11-02-2008 16:37:53

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

j'ai essayer avec le view mais  je vois pas comment l'inclure dans un Zend form


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#10 11-02-2008 16:50:23

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Laisse moi le temps de répondre smile

En fait ton Zend_Form_Element_Multiselect utilise un Zend_View_Helper_FormSelect pour l'affichage sans que tu le saches.
Zend_Form_Element_Multiselect > comportement, validation, erreurs etc...
Zend_View_Helper_FormSelect > affichage smile

Code:

/**
     * Set element attribute
     * 
     * @param  string $name 
     * @param  string $value 
     * @return Zend_Form_Element
     * @throws Zend_Form_Exception for invalid $name values
     */
    public function setAttrib($name, $value)...

Ben ça y est, y'a plus qu'a envoyer array('size'=>$nb) par setAttrib() wink

Hors ligne

 

#11 11-02-2008 17:06:08

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

j'vais essayer cette fonction avec
$select->setAtrib("multiselect","true") et aussi ceux que tu ma passé   $select->setAttribs(array('size'=>10));  mais quand je rajoute cette option  il n'affiche plus rien et aucun message d'erreur ?

ps: merci pour les explications

Dernière modification par lebilien (11-02-2008 17:06:40)


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#12 11-02-2008 17:17:36

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

multiselect ca n'existe pas comme attribut html valide

Code:

$select->setAttrib('multiple','multiple'); //pour validité xhtml
$select->setAttrib('size',10);
//ou 
$select->setAttribs(array(
    'multiple' => 'multiple',
    'size' => '10'
));

Si rien de ça ne marche... j'comprends pas. Tu peux toujours tester ça:

Code:

$select=new Zend_Form_Element_Multiselect("liste_action", array(
    'multiple' => 'multiple',
    'size' => '10'
));

Hors ligne

 

#13 11-02-2008 17:28:14

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

Bon voila le code complet car sa me met toujours page blanche  :

Code:

 
unction form_type_utilisateur($type,$action,$view){
      $form = new Zend_Form();    
      $form->setAction('/admin/submittype')
           ->setMethod('post');
           
     $nom_type = new Zend_Form_Element_Text('nom_type');
      $nom_type->setLabel("Nom type utilisateur :");
      $nom_type->addValidators(array(array('stringLength', false, array(4,15))));
      $nom_type->setRequired(true);
     
  /* $select=new Zend_Form_Element_Multiselect("liste_action", array(
    'multiple' => 'multiple',
    'size' => '10'
));*/
      $select=new Zend_Form_Element_Select("liste_action");
      $select->setLabel("Liste des actions :");
      //$i=0;
              
    
     foreach($action as $info){
      
          Zend_Loader::loadClass("action");
          $action2=new action();
          $nom_controlleur=$action2->nom_controller($info["id_action"]);
          //$tab[$i]=$nom_controlleur["nom_controlleur"]."=>".$info["nom_action"];
          //$i+=1;
          $select->addMultiOption($info["id_action"],$nom_controlleur["nom_controlleur"]."=>".$info["nom_action"]);
      }
     // $select->addMultiOptions($tab);
      $select->setAttrib('multiple','multiple'); //pour validité xhtml
      $select->setAttrib('size',10);
        $form->addElement($nom_type);
        
        $form->addElement($select);
      
       $submit=new Zend_Form_Element_Submit("Suivant");
       $submit->setValue("Enregistrer");
      $form->addElement($submit);

dés que je rajoute les deux lignes suivante :
    $select->setAttrib('multiple','multiple'); //pour validité xhtml
      $select->setAttrib('size',10);

sa me met page blanche sinon sa met bien le formulaire alors j'ai essayer les deux exemple que tu ma montré et oui je sais que multiselect marche pas mais j'ai essayer plein de chose lol


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#14 11-02-2008 17:41:20

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Récupère la dernière version du zf au cas où (snapshots dans la section download), puis pense à copier le contenu de incubator/library das library sinon zend_form ne marchera pas smile

La preview dispo est instable...

Hors ligne

 

#15 11-02-2008 17:42:36

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

bon j'ai fais des test , voila le code de setAttrib dans Element

Code:

 public function setAttrib($name, $value)
    {
       
        $name = (string) $name;
     
        if ('_' == $name[0]) {
            require_once 'Zend/Form/Exception.php';
            throw new Zend_Form_Exception(sprintf('Invalid attribute "%s"; must not contain a leading underscore', $name));
        }
 
        if (null === $value) {
            unset($this->$name);
        } else {
            $this->$name = (string) $value;
         
        }

        return $this;
    }

si on met en commentaire cette ligne ( $this->$name = (string) $value;)  sa affiche le formulaire  mais sa reste une liste classique et si on la met sa me ressort une page blanche

j'ai fais des test il affiche bien le bon $value ( multiple et size) mais  ce que je ne comprend pas c'est pourquoi une function set retourne un Element  , j'ai aussi enlever le return et toujous page blanche ?

j'avoue je tourne en rond  lol

Merci de votre aide

Dernière modification par lebilien (11-02-2008 17:43:47)


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#16 11-02-2008 17:52:55

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

set retourne un Element pour pouvroi enchainer les appels de méthodes
$element->setXXX(...)->setYyyyy(...)...

Sinon le (string) c'est pour forcé le typage au cas où ce soit un entier ou autre chose. Essaye de remplacer

$this->$name = (string) $value par $this->$name = "".$value. C'est con est sale mais ca devrait marcher... A moins que le problème vienne de $this->$name ça doit plutôt etre ça d'ailleurs....

Etrange tout ça smile c'est pas pire que mon soucis: http://www.z-f.fr/forum/viewtopic.php?id=783

Hors ligne

 

#17 12-02-2008 07:14:54

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

oui sa doit être le $this->$name qui pose  probleme mais je voit  pas comment le résoudre


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#18 12-02-2008 10:05:34

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

bon une mise avec le snapshot ZendFramework-20080212-7941 et pffff miracle sa marche


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#19 12-02-2008 14:03:25

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

bon encore un petit pb imaginer je renvoi a mon formulaire une liste des option choisis  mais j'arrive pas a les mettre en selected il prend la dernière pour lui dans une liste a choix multiple il ne peux y avoir que un selected .


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#20 12-02-2008 14:27:14

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Zend_Form liste choix multiple

Ah! Les multi sont encore en dév apparement vu le récentes maj (http://framework.zend.com/fisheye/chang … /Zend/Form), ça doit être pour ça... (même pas sur)
Un peu de patience wink
Attaque toi à autre chose en attendant que ça soit au point.

Hors ligne

 

#21 12-02-2008 14:27:56

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

argh si pas le choix je vais continuer ma prog est revenir dessus un peu plus tard merci


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#22 28-02-2008 16:22:06

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

bon je reviens vers vous pour trouvez une solution j'ai mis a jour le Zend ce matin et j'arrive toujours pas afficher sur le liste multiple tous les option sélectionner .

Merci de votre aide


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#23 24-06-2010 16:41:07

supertino7
Membre
Date d'inscription: 21-02-2009
Messages: 113

Re: [Résolu] Zend_Form liste choix multiple

Hello,

As tu fini par trouver une solution pour selectionner plusieurs options via un array ?

Hors ligne

 

#24 25-06-2010 09:32:52

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_Form liste choix multiple

Non et j'avoue avoir abandonné l'idée .


http://www.parkaddict.com Gagner des places dans vos parcs préférés

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