Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-06-2008 18:28:59

Groslap1
Nouveau membre
Date d'inscription: 28-05-2008
Messages: 5

[Zend_Form][1.5.1] Ajout de DisplayGroup à un formulaire

Bonsoir à tous,

Je rencontre des problèmes à ajouter des DisplayGroup à un formulaire.
Je créer normalement :
- mon formulaire,
- mes éléments (avec décorateurs),
- mon DisplayGroup (avec décorateurs)
J'ajoute
- mes éléments à mon DisplayGroup
- mon DisplayGroup à mon formulaire

Après tous ça je demande à voir les DisplayGroup de mon Formulaire, et cela me retourne un tableau Vide
Alors que si j'ajoute mes éléments (boutons) à mon formulaires et que je demande à voir les éléments contenus dans mon formulaire il me retourne un tableau avec les 2 éléments créés.

Voici mon code :

Code:

    
$this->form = new Zend_Form;
        
    //BOUTON  de sauvegarde et d'ajout de ligne
    $loader = new Zend_Loader_PluginLoader(array('Zend_Form_Decorator' => 'Zend/Form/Decorator/'));
    $head_button = new Zend_Form_DisplayGroup ('head_button',  $loader);
        
    $save = new Zend_Form_Element_Submit('save');
    $save->setLabel('Sauvegarder');
    $save->removeDecorator('DtDdWrapper');
    $save->addDecorator('HtmlTag', array('tag' => 'td'));
        
    $addline = new Zend_Form_Element_Button('addline');
    $addline->setLabel('Ajouter Ligne');
    $addline->removeDecorator('DtDdWrapper');
    $addline->addDecorator('HtmlTag', array('tag' => 'td'));
    
    //Juste une condition pour afficher ou non le bouton 'addline'
    if ($this->form_attributes['formtype'] == "multi"){
        $head_button->addElement($save);
        $head_button->addElement($addline);
    } else {
        $head_button->addElement($save);
    }

    $head_button->clearDecorators();
    $head_button->addDecorators(
        array(
            array('FormElements'),
            array('HtmlTag', array('tag' => 'tr', 
                    'id'=>'button'))));

    $this->form->addDisplayGroups(array($head_button));

    echo "DISPLAY GROUPS";
    Zend_Debug::dump($this->form->getDisplayGroups());

Voilà j'espère que c'est suffisamment clair et pas trop lourd (ou long) à comprendre.
Peut être que vous aurez des idées... sur une erreur que j'aurais fais...
Merci d'avance à tous et bonne soirée

Jérémy

Hors ligne

 

#2 24-06-2008 19:37:17

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

Re: [Zend_Form][1.5.1] Ajout de DisplayGroup à un formulaire

Je crois qu'il faut les ajouter au formulaire et et au display group.
Perso je créé mes form avec le syntaxe en tableau, et je les mets dans le champs "elements", puis je spécifie juste le nom de élements au displayGroup...

Hors ligne

 

#3 25-06-2008 09:19:16

Groslap1
Nouveau membre
Date d'inscription: 28-05-2008
Messages: 5

Re: [Zend_Form][1.5.1] Ajout de DisplayGroup à un formulaire

Bonjour et merci pour ta réponse relativement rapide.
J'ai ajouté la ligne :

Code:

$this->form->addElements(array($save, $addline));

Du coup il m'affiche bien que le DisplayGroup ET le formulaire contiennent ces éléments.
Mais le formulaire ne contient toujours pas le DisplayGroup lui même, du coup il n'est pas capable de m'afficher le rendu necessaire (demandé par les décorateurs)
A savoir que si j'utilise cette méthode c'est pour une simplicité d'utilisation des décorateurs.
J'ai déjà utilisé cette méthode sans inclure le DisplayGroup dans un formulaire du coup je n'avais pas de problème.

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