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 :

addDisplayGroup n'ajoute pas la balise Form, ou pas à sa place


Sujet :

Zend_Form PHP

  1. #1
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut addDisplayGroup n'ajoute pas la balise Form, ou pas à sa place
    Bonjour,

    Je suis en train de faire 2 formulaires dans un système d'onglet.

    Dans un des formulaire, je dois regrouper certains éléments entre eux pour les afficher dans diverses zones de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        $this->addElements(array($address,$cp,$city,$price,$submit));
     
            $this->addDisplayGroup(
                    array('addressgeoloc', 'cp', 'city'),
                          'localization',
                    array('legend'=> "localization")
            );
     
            $this->addDisplayGroup(
                    array('price','submit'), 
                          'currency',
                    array('legend'=> "price")
            );
    et dans l'html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            <div class="row">
     
          			<div class="large-6 columns">
          				<?php echo $this->formAdvanced->localization;?>
          			</div>
     
          			<div class="large-6 columns">
          				<?php echo $this->formAdvanced->currency;?>
          			</div>
    		</div>
    Le soucis c'est qu'il ne m'affiche pas la balise <form> !!! Sauf si je met les décorators et là, par contre, j'ai un tag <form> par groupe !! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            $this->getDisplayGroup('currency')
                 ->setDecorators(array(
                    'FormElements',
                    'Form'
            ));
     
            $this->getDisplayGroup('localization')
                 ->setDecorators(array(
                 'FormElements',
                 'Form'
            ));
    Comment faire ?

    Fabrice

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    le problème est que tu fais un rendu individuel de chacun de tes displaygroup, au lieu de faire un rendu de ton formulaire complet. Comme le décorateur qui se charge d'ajouter la balise <form> est déclaré au niveau du formulaire, c'est donc normal qu'il n'apparaisse pas.

    Je te conseille de déplacer le balisage de tes vues et de le placer dans des décorateurs personnalisés, que tu déclares au niveau de tes displaygroup, éléments ou formulaire.

    Ainsi, tu peux créer un décorateur qui affiche le <div class="large-6 columns">
    que tu ajoutes à tes displaygroup, et un autre qui affiche le <div class="rows"> que tu ajoutes à ton formulaire. Dans ta vue, tu n'as alors plus qu'à faire un :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->formAdvanced; ?>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    Bonjour,

    Merci de ta réponse . J'avais bien fait çà au début, mettre un décorateur par groupe.
    Je vais revenir à la version précédente du projet et je test çà.

    Fabrice

Discussions similaires

  1. IE : L'ajout d'une balise <form> décalle mes divs
    Par FoxDeltaSierra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 20/11/2012, 18h48
  2. Comment se connecter si pas de balises form ou input?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 29/03/2009, 15h36
  3. Réponses: 4
    Dernier message: 30/07/2008, 14h46
  4. [SAX] Ajout de données balisées par l'utilisateur dans un XML déjà formé
    Par Beleg dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 04/03/2008, 19h57
  5. Balise <PRE> marche pas dans un form
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/11/2005, 10h20

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