IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

[Element_Select] Menu déroulant non rempli


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut [Element_Select] Menu déroulant non rempli
    Bonjour,

    Je n'arrive pas à tout comprendre...
    Je précise avant tout que je suis en version 1.7.7

    J'ai lu dans ce forum que pour ajouter des options à un select, on peut le faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $region=new Zend_Form_Element_Select('regions');
    $region->setLabel('Région : ')
    ->setMultiOptions($array);
    Mais setMultiOptions est une fonction qui n'est pas reconnue.

    Set, add ou autre...

    J'ai vu cependant que le constructeur pouvait accepter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $listeFichier = new Zend_Form_Element_Select('listeFichier',$arrayListeFichier);
    Mais... Je n'ai aucune liste... Enfin, j'ai une liste mais vide.

    Voici ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
     
    require_once 'Zend/Controller/Action.php';
     
    class IndexController extends Zend_Controller_Action 
    {
    	private $form;
     
    	public function init()
    	{
    		//Création d'une instance de Formulaire Zend_Form
    		$form = new Zend_Form;
    		//Spécification de l'action vers laquelle on renvoi le submit du form
    		$form->setAction('index/traitementupload')
    		//Spécification de la méthode d'envoi des informations
    		     ->setMethod('post')
    		//On attribue un ID au formulaire
    		     ->setAttrib('id', 'unFormulaire')
    		     ->setAttrib('name', 'unFormulaire')
    		//Ne pas oublier l'enctype
    			 ->setAttrib('enctype', 'multipart/form-data');
     
    		$destination = 'C:\temporaire\\';
    		$dir = opendir($destination);
    		while (($unFichier = readdir($dir))){
    			if(is_file($destination.$unFichier)) {
    				//$arrayListeFichier[$unFichier]= $unFichier;
    				$arrayListeFichier[$unFichier]= $unFichier;
    			}
    		}
    		closedir($destination);
     
    		print_r($arrayListeFichier);
     
    		//On instancie un objet qui sera liste (Select) des fichiers du dossier temporaire
            $listeFichier = new Zend_Form_Element_Select('listeFichier',$arrayListeFichier);
            $listeFichier	->setAttrib('multiple','multiple')
            				->setAttrib('size',count($arrayListeFichier));
     
            $form->addElement($listeFichier);
     
            //On ajoute le bouton de suppression au formulaire
    		$form->addElement(new Zend_Form_Element_Submit('Supprimer'));
     
     
     
    		//(...)
     
            $this->form = $form;
    	}
        public function indexAction() 
        {
        	//On associe le formulaire à la vue
    		$this->view->form = $this->form;
        }
    }
    Pourquoi ne me remplit-il pas ma liste ?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    j'ai également tenté un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            $listeFichier = new Zend_Form_Element_Select('listeFichier');
            $listeFichier	->setAttrib('multiple','multiple')
            				->setAttrib('size',count($arrayListeFichier))
            				->setOptions($arrayListeFichier);
    Mais rien de plus...
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    J'ai trouvé la réponse mais j'aimerai avoir l'explication...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
            $listeFichier = new Zend_Form_Element_Select('listeFichier');
            $listeFichier	->setLabel('Liste des fichiers :')
            				->setAttrib('multiple','multiple')
            				->setAttrib('size',count($arrayListeFichier))
            				->addMultiOptions($arrayListeFichier);
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            $listeFichier = new Zend_Form_Element_Select('listeFichier');
            $listeFichier	->setLabel('Liste des fichiers :')
            				->setAttrib('multiple','multiple')
            				->setAttrib('size',count($arrayListeFichier));
           	$listeFichier	->addMultiOptions($arrayListeFichier);
    la différence entre ces deux codes ?

    Pour le addMultiOptions, je suis repartie de $listeFichier...

    Alors que setAttrib(...) me renvoie $this donc $listeFichier !

    C'est incompréhensible
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    La différence entre add et set est que set écrase les données

    ici
    http://framework.zend.com/manual/fr/...lements.select

    Si ça peut aider

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Même s'il écrase les données de l'attribut ciblé, il me renvoie quand même l'objet non ?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Oui il renvoi l'objet

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2015, 18h09
  2. Menu déroulant largeur non fixée
    Par samtheh dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/09/2009, 16h02
  3. requete sur une table rempli par menu déroulant
    Par tony3 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/03/2009, 10h01
  4. Menu déroulant js non intrusif
    Par ilood dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 04/02/2009, 09h48
  5. Menu déroulant, non déroulant sous IE :@
    Par PuppeT mAsTer dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 14/06/2006, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo