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 :

Récupérer la valeur d'un Zend_Form element au sein d'un objet Zend_Form [ZF 1.11]


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut Récupérer la valeur d'un Zend_Form element au sein d'un objet Zend_Form
    Bonjour, j'ai besoin de loader une liste de type Zenf_Form_Element_Select,
    Le souci, je dois afficher cette liste en fonction de la valeur d'un des éléments.
    Mais je ne sais pas comment récupérer la valeur de ce dernier au sein de mon Zend_Form. voici mon code (je précise que je suis en mode "édition" ce qui signifie que mon formulaire est déjà peuplé par des datas provenant de la BD, ceci depuis le controller):

    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
     
    class Backend_Form_Role extends App_Form
    {
    	public function __construct($options = null)
        {
            parent::__construct($options);
     
            $this->setMethod('post')
        		 ->setAttrib('id', 'backendform1');
     
            $id_role = new Zend_Form_Element_Hidden('id_role');
     
        	$nom_role = New App_Form_Element_Text('nom_role');
    				$nom_role->setLabel('Nom du role')
    					->setAttrib('id','nom_role')
    					->setAttrib('size','150');
     
     
    		$id_parent = New Zend_Form_Element_Select('id_parent');
    				$id_parent->setLabel('Hérite de :')
    				->setAttrib('id','id_parent')
    				->setAttrib('style','width:150px;margin:0 0 15px 0')
    				->addMultiOption(0, 'Sélectionner');
    				$roleMapper = new Backend_Model_RoleMapper();
    				$arrListeRoles = $roleMapper->fetchAllWithExclude($id_role->getValue(),true);
    				$countListeRoles = count($arrListeRoles);
    				if($countListeRoles){
    					for($i=0;$i<$countListeRoles;$i++){
    						$id_parent->addMultiOption($arrListeRoles[$i]['id_role'], $arrListeRoles[$i]['nom_role']);
    					}
    				}
     
    		$granted = New Zend_Form_Element_Select('granted');
    				$granted->setLabel('Granted')
    				->setAttrib('id','granted')
    				->setAttrib('style','width:75px;margin:0 0 15px 0')
    				->addMultiOption(0, 'Non')
    				->addMultiOption(1, 'Oui');
     
           $submit = new App_Form_Element_Submit('Valider');
            $submit->setAttrib('id', 'send')
                    ->addDecorator('HtmlTag', array('tag' => 'p', 'id' => 'submit-wrap'));
     
     
            $element = array(
                    $id_role, 
                    $nom_role,
    				$id_parent,
            		$granted,
    				$submit    
                   );
     
            $this->addElements($element);
        }
     
    }
    mais
    $id_role->getValue()
    n'est pas remplie !

    D'avance, merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonsoir,
    Les informations ne sont pas chargées dans le constructeur, ça permet seulement de créer les éléments qui composent le formulaire.

    D'ailleurs, à l'endroit où tu édites, tu dois surement faire un populate, du coup tu as ta réponse, c'est au niveau du populate que tu dois travailler.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Bonsoir et merci pour ta réponse, mais malheureusement ça ne me dit pas comment faire, j'ai cherché pendant très très longtemps, aurais tu la syntaxe à me donner si je dois faire quelque chose dans le controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ....
    $resultSet = $mapper->findtoArray((int) $id);
    	if (is_array ($resultSet)){
    	$form->populate ($resultSet);
    	return;
    ....
    Que dois je rajouter pour pouvoir utiliser :
    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
     
    .....
    class Backend_Form_Role extends App_Form
    .....
     $id_role = new Zend_Form_Element_Hidden('id_role');
    .....
    $id_parent = New Zend_Form_Element_Select('id_parent');
    				$id_parent->setLabel('Hérite de :')
    				->setAttrib('id','id_parent')
    				->setAttrib('style','width:150px;margin:0 0 15px 0')
    				->addMultiOption(valeur_de_id_role, 'Sélectionner');
    				$roleMapper = new Backend_Model_RoleMapper();
    				$arrListeRoles = $roleMapper->fetchAllWithExclude(0,true);
    				$countListeRoles = count($arrListeRoles);
    				if($countListeRoles){
    					for($i=0;$i<$countListeRoles;$i++){
    						$id_parent->addMultiOption($arrListeRoles[$i]['id_role'], $arrListeRoles[$i]['nom_role']);
    	}
    }
    Pour remplace "valeur_de_id_role" par la valeur de $id_role ?
    D'avance merci pour ton aide

  4. #4
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonsoir,
    Je t'ai dis de regardé au niveau de la méthode populate de ton formulaire plutot que dans le constructeur.

    Viens nous voir quand tu auras commencer.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Par défaut
    Bonjour,
    Je t'ai dis de regardé au niveau de la méthode populate de ton formulaire plutot que dans le constructeur.
    D'ailleurs, à l'endroit où tu édites, tu dois surement faire un populate, du coup tu as ta réponse, c'est au niveau du populate que tu dois travailler.
    Désolé mais je ne comprends pas de quoi tu parles, qu'est ce que tu appelles le populate du formulaire : s'agit-'il de mon objet "class Backend_Form_Role" ? qu'appelles tu le constructeur ?

  6. #6
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonsoir,
    On va commencer par le commencement donc.
    Peux tu nous faire voir le code de l'action où tu utilises le formulaire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer la valeur du composant "Element Text"
    Par ingelita dans le forum Forms
    Réponses: 2
    Dernier message: 23/10/2010, 23h40
  2. Réponses: 1
    Dernier message: 04/04/2008, 22h08
  3. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45
  4. [Couleur] Récupérer les valeurs R,V,B et L,U,V ?
    Par M4v3rick dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2004, 03h28
  5. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28

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