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

Discussion: Zend Form Decorator MultiCheckBox [ZF 1.7]

  1. #1
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut Zend Form Decorator MultiCheckBox

    Bonjour,

    Je n'arrive à personnaliser un multiCheckbox avec zend

    Voici ce qu'il m'affiche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <ul>
    <div class="multicheckbox">
     
    <ul><li><label for="foo"/><label style="white-space: nowrap;"><input type="checkbox" helper="formMultiCheckbox" value="foo" id="foo-foo" name="foo[]"/>Foo Option</label><br/>
    <label style="white-space: nowrap;"><input type="checkbox" helper="formMultiCheckbox" checked="checked" value="bar" id="foo-bar" name="foo[]"/>Bar Option</label><br/>
    <label style="white-space: nowrap;"><input type="checkbox" helper="formMultiCheckbox" value="baz" id="foo-baz" name="foo[]"/>Baz Option</label><br/>
    <label style="white-space: nowrap;"><input type="checkbox" helper="formMultiCheckbox" checked="checked" value="bat" id="foo-bat" name="foo[]"/>Bat Option</label></li></ul>
    	</div>
    Comme vous voyez, ça insert un <br /> entre chaque label, or, je voudrais plutot un </li><li>
    Les idiots sont ceux qui ne posent jamais de question!

  2. #2
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Tu peux mettre le code source de ton Form ?

  3. #3
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    Bien sûr ^-^

    Mon décorateur personnalisé :
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    <?php
    class My_Decorator_MultiCheckbox extends Zend_Form_Decorator_Abstract
    {
        public function buildLabel()
        {
            $element = $this->getElement();
            $label = $element->getLabel();
            if ($translator = $element->getTranslator()) {
                $label = $translator->translate($label);
            }
            return $element->getView()
                           ->formLabel($element->getName(), $label);
        }
     
        public function buildInput()
        {
            $element = $this->getElement();
            $helper  = $element->helper;
            return $element->getView()->$helper(
                $element->getName(),
                $element->getValue(),
                $element->getAttribs(),
                $element->options
            );
        }
     
        public function buildErrors()
        {
            $element  = $this->getElement();
            $messages = $element->getMessages();
            if (empty($messages)) {
                return '';
            }
            return '<div class="error">'
            		.$element->getView()->formErrors($messages)
            		.'</div>';
        }
     
        public function buildDescription()
        {
            $element = $this->getElement();
            $desc    = $element->getDescription();
            if (empty($desc)) {
                return '';
            }
            return '<div class="description">'.$desc.'</div>';
        }
     
        public function render($content)
        {
            $element = $this->getElement();
            if (!$element instanceof Zend_Form_Element) {
                return $content;
            }
            if (null === $element->getView()) {
                return $content;
            }
     
            $separator = $this->getSeparator();
            $placement = $this->getPlacement();
            $label     = $this->buildLabel();
            $input     = $this->buildInput();
            $errors    = $this->buildErrors();
            $desc      = $this->buildDescription();
     
            $output = $errors .'<ul>'    
                    . '<li>'.$label.$input.'</li>'
                    . '</ul>'. $desc;
     
            switch ($placement) {
                case (self::PREPEND):
                    return $output . $separator . $content;
                case (self::APPEND):
                default:
                    return $content . $separator . $output;
            }
        }
    }
    ?>
    Dans mon controleur :
    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
     
    $form->addElementPrefixPath('My_Decorator',
                                		'My/Decorator/',
                                		'decorator');
     
    $element = new Zend_Form_Element_MultiCheckbox('foo', array(
        'multiOptions' => array(
            'foo' => 'Foo Option',
            'bar' => 'Bar Option',
            'baz' => 'Baz Option',
            'bat' => 'Bat Option',
        )
    ));
    $element->setValue(array('bar', 'bat'));
    $element->setDecorators(array('multiCheckbox'));
    $this->addElement($element);
    A savoir que j'utilise déjà un autre decorator pour les champs texte qui fonctionne bien mais là je suis dans les choux!
    Les idiots sont ceux qui ne posent jamais de question!

  4. #4
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    Bon j'ai trouvé une solumagouille, mais ça me plait moyen...
    En fait j'ai viré le décorateur personnalisé, j'ai abandonné les listes (ça fait beaucoup déjà!) et j'ai ajouté ceci à mon élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    //....//
    $element->setSeparator(''); // retire la balise <br />
    $element->addDecorators(array(
        array('ViewHelper'),
        array('HtmlTag', array('tag' => 'div')),
        array('Label', array('tag' => '')),
    ));
    ?>
    M'enfin si quelqu'un a la solution miracle je suis preneur!
    Les idiots sont ceux qui ne posent jamais de question!

  5. #5
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Le problème dans ton décorateur personnalisé, c'est que tu traite l'élément comme si c'était un Form Element simple alors qu'il s'agit d'un Form Element de type "Multi", je veux dire par là qu'il y a plusieurs éléments dans ton Form Element.
    Ton Zend_Form_Element_MultiCheckbox est en fait un élément qui contient plusieurs Zend_Form_Element_Checkbox or là tu le traite comme si c'était un élément simple.

    Du coup ta fonction buildLabel par exemple ne retourne rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $label = $element->getLabel();
    Ici $label est nul vu que ton $element est le Zend_Form_Element_MultiCheckbox et non une des options. Il te retourne le label du Zend_Form_Element_MultiCheckbox et comme tu n'en as défini aucun, cela fait nul.

    Bref au final quand tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $output = $errors .'<ul>'    
                    . '<li>'.$label.$input.'</li>'
                    . '</ul>'. $desc;
    $label est nul, $desc est nul et $errors aussi normalement donc cela fait juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $output = '<ul><li>'.$input.'</li></ul>';
    Et pour construire le $input tu as juste fait appel au helper de vue Zend_View_Helper_FormMultiCheckbox dans ta fonction buildInput (c'est le helper retourné par $helper = $element->helper; ) et il te construit juste un Form Element basique avec les décorateurs par défaut et vu que '<br/> est le séparateur par défaut du FormMultiCheckbox, le résultat que tu obtient est normal en fait.

    Je sais pas si j'ai bien expliqué mais en gros, si tu veux obtenir un résultat avec tes <ul> et <li> correctement je te conseille d'utiliser la fonction getMultiOptions() de l'élément Zend_Form_Element_MultiCheckbox pour récupérer un tableau avec chaque option que tu as donné à ton élément puis de construire ton élément avec une boucle en utilisant le helper Zend_View_Helper_FormCheckbox.

    J'éspère que j'ai été clair, si tu as besoin de plus d'explications hésite pas.

  6. #6
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    J'ai peur de ne pas comprendre en effet.
    Si j'envoi un tableau dans un multicheckbox et qu'ensuite je récupère à nouveau un tableau pour ensuite construire des simple checkbox via une boucle, ce n'est pas plus simple de directement créer des simples checkbox sans passer par le Multicheckbox?
    Les idiots sont ceux qui ne posent jamais de question!

  7. #7
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Citation Envoyé par manuscle Voir le message
    J'ai peur de ne pas comprendre en effet.
    Si j'envoi un tableau dans un multicheckbox et qu'ensuite je récupère à nouveau un tableau pour ensuite construire des simple checkbox via une boucle, ce n'est pas plus simple de directement créer des simples checkbox sans passer par le Multicheckbox?
    Après c'est à toi de voir mais l'avantage c'est qu'en faisant avec un decorator personnalisé c'est réutilisable et quand tu voudras refaire une multicheckbox, tu auras juste à lui passer un tableau qui créera toutes tes checkbox toutes seules. Autre avantage, ça fait un code plus clair dans ton Form.

    Sinon tu peux toujours utiliser les decorators de Zend mais sache que de toute façon Zend fait la même chose en interne, une boucle pour créer chaque checkbox une par une donc ça revient au même dans tous les cas.

  8. #8
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    T'aurais pas un p'tit exemple car j'ai essayé hier soir et je récupère bien le multioption et après je sais pas, c'est tout nouveau pour moi. vraiment désolé
    Les idiots sont ceux qui ne posent jamais de question!

  9. #9
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Personnellement j'aurais fait quelque chose comme ça :
    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
    public function render($content)
    {
    	$element = $this->getElement();
    	if (!$element instanceof Zend_Form_Element) {
    		return $content;
    	}
    	if (null === $element->getView()) {
    		return $content;
    	}
     
    	//On récupère la vue pour pouvoir utiliser les helper de vue
    	$view = $element->getView();
    	$form_xhtml = '';
    	foreach($element->getMultiOptions() as $name => $label) {
    		//Pour chaque option on construit une ligne avec les helper de vue permettant de faire des éléments de formulaire
    		$form_xhtml .= '<li>'.$view->formCheckbox($name,$name).$view->formLabel($name,$label).'</li>';
    	}
    	$form_xhtml = '<ul>'.$form_html.'</ul>';
     
    	//On retourne le résultat correctement
    	switch ($this->getPlacement()) {
    		case self::PREPEND:
    			return $form_xhtml.$content;
    		case self::APPEND:
    		default:
    			return $content.$form_xhtml;
         }
    }
    Bon j'ai fait ça rapidement donc pas sur que ça marche ni que ce soit la meilleure façon de faire mais l'idée est là !

  10. #10
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    Merci mille fois!

    J'ai étudié ton exemple et du coup j'ai fait ça :

    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
     
        public function render($content)
        {
            $element = $this->getElement();
            if (!$element instanceof Zend_Form_Element) {
                return $content;
            }
            if (null === $element->getView()) {
                return $content;
            }
     
            $name = $element->getName();
     
            // On récupère la vue
            $view = $element->getView();
            // On récupère les valeurs
            $values = $element->getValue();
     
            $form_xhtml = '';
            // formCheckbox($name, $value, $attribs, $options)
            foreach ($element->getMultiOptions() as $val => $label) {
            	$checked = (in_array($val,$values)) ? true : false;
            	$form_xhtml .= '<li>' . $view->formCheckbox($name,$val,array('checked' => $checked)) . $view->formLabel($name,$label) . '</li>';
     
            }
            $form_xhtml = '<ul>'.$form_xhtml.'</ul>';
     
            switch ($this->getPlacement()) {
                case (self::PREPEND):
                    return $form_xhtml . $content;
                case (self::APPEND):
                default:
                    return $content . $form_xhtml;
            }
        }
    Et dans ma classe de création de formulaire j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    		$element = new Zend_Form_Element_MultiCheckbox('restrictionsCat', array(
    							    'multiOptions' => array(
    							        2 => 'Deux Option',
    							        4 => 'Quatre Option',
    							        7 => 'Sept Option',
    							        5 => 'Cinq Option'),
    									));
     
    		$element->setValue(array(5, 4));
     
    		$element->setDecorators(array('MultiCheckbox'));
    ça fonctionne très bien!
    Par contre c'est normal que j'ai un input hidden à chaque fois ?
    Les idiots sont ceux qui ne posent jamais de question!

  11. #11
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Citation Envoyé par manuscle Voir le message
    Par contre c'est normal que j'ai un input hidden à chaque fois ?
    Normalement non, est-ce que tu peux montrer à quoi ressemble ce hidden en xhtml ?

  12. #12
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    Voici ce qui est généré à chaque fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <li>
    <input type="hidden" value="0" name="restrictionsCat"/>
    <input id="restrictionsCat" type="checkbox" value="2" name="restrictionsCat"/>
    <label for="restrictionsCat">Deux Option</label>
    </li>
    J'ajoute également que ça me le fait sur tout mes autres checkbox normaux!
    c bizare!
    Les idiots sont ceux qui ne posent jamais de question!

  13. #13
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 157
    Points : 231
    Points
    231

    Par défaut

    Citation Envoyé par manuscle Voir le message
    Voici ce qui est généré à chaque fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <li>
    <input type="hidden" value="0" name="restrictionsCat"/>
    <input id="restrictionsCat" type="checkbox" value="2" name="restrictionsCat"/>
    <label for="restrictionsCat">Deux Option</label>
    </li>
    En fait c'est normal, c'est fait pour savoir quelle checkbox a été cochée à chaque fois j'imagine, j'ai du mal à savoir comment ça marche mais si tu ne veux plus ces hidden il faut que tu donne comme nom quelque chose du type : "restrictionsCat[]" et ça te permet de récupérer les valeurs en POST plus proprement.

  14. #14
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 483
    Points : 650
    Points
    650

    Par défaut

    Je viens de lire ça aussi sur un forum, ça n'a pas l'air très dérangeant.

    Merci encore pour ton aide!
    Les idiots sont ceux qui ne posent jamais de question!

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2007
    Messages : 12
    Points : 13
    Points
    13

    Par défaut

    Citation Envoyé par Alshten Voir le message
    En fait c'est normal, c'est fait pour savoir quelle checkbox a été cochée à chaque fois j'imagine, j'ai du mal à savoir comment ça marche mais si tu ne veux plus ces hidden il faut que tu donne comme nom quelque chose du type : "restrictionsCat[]" et ça te permet de récupérer les valeurs en POST plus proprement.
    Salut,
    Pour la petite histoire du pourquoi du comment: Quand vous insérez une checkbox dans un formulaire, la validation du formulaire renvoie la propriété 'Value', et non pas 'Checked', il faufrait alors un script sur un onclick du type onclick="if (this.checked){this.value=1;}{this.value=0;};".
    L'inclusion du Hidden avec pour nom le même que celui de la checkbox est une bien jolie astuce pour se passer du Javascript.

    Puis dans cet exemple:
    Citation Envoyé par manuscle Voir le message
    <li>
    <input type="hidden" value="0" name="restrictionsCat"/>
    <input id="restrictionsCat" type="checkbox" value="2" name="restrictionsCat"/>
    <label for="restrictionsCat">Deux Option</label>
    </li>
    Je pense que si le hidden se situait après l'input, l'ordre de lecture des éléments du formulaire par le navigateur forcerait la valeur de restrictionsCat à 0. Je n'ai pas testé, à confirmer.

    JB

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    septembre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    Hello
    pour éviter les input hidden très génant
    je remplace dans la fonction render()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $name = $element->getName();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $name = $element->getFullyQualifiedName();
    et
    bien sur je donne le nom "restrictionsCat[]" dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $element = new Zend_Form_Element_MultiCheckbox('restrictionsCat[]', array(
    							    'multiOptions' => array(
    							        2 => 'Deux Option',
    							        4 => 'Quatre Option',
    							        7 => 'Sept Option',
    							        5 => 'Cinq Option'),
    									));
    merci, vous m'avez bien aidé ...

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

Discussions similaires

  1. Zend Form decorator, problème de balises
    Par keaton7 dans le forum Zend_Form
    Réponses: 2
    Dernier message: 02/05/2012, 15h30
  2. [ZF1.9.2]Zend form et decorator
    Par vince29 dans le forum Zend Framework
    Réponses: 2
    Dernier message: 14/03/2011, 13h48
  3. Zend Form Decorator
    Par Romain_marine dans le forum Zend_Form
    Réponses: 2
    Dernier message: 29/03/2010, 09h59
  4. Réponses: 2
    Dernier message: 16/12/2009, 17h07
  5. Zend Form MultiCheckbox
    Par d4d4++ dans le forum Zend_Form
    Réponses: 1
    Dernier message: 07/11/2008, 13h12

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