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 :

utiliser les DisplayGroup


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut utiliser les DisplayGroup
    Bonjour à tous,

    je voudrais mettre dans un fieldset trois éléments de mon formulaire. Mon formulaire est lui-même déjà dans un fieldset et il s'affiche de manière très simple: il s'agit d'une liste à puces, une puce pour chaque élément de mon formulaire.

    Le code du fichier form_create.phtml est:
    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
    <form method="<?php echo  $this->escape($this->element->getMethod()) ?>" id="myform">
    <fieldset>
      <legend>Cr&eacute;er un client</legend><ul>
    	  <?php foreach($this->element as $element):?>
    		<li><?php echo $this->formLabel($element->getName(),$element->getLabel()) ?>
                    <?php echo $this->{$element->helper}(
                                             $element->getName(),
                                             $element->getValue(),
                                             $element->getAttribs(),
                                             (method_exists($element,'getMultiOptions')) ? $element->getMultiOptions() : ''
                       ) ?></li>
    	  <?php endforeach; ?></ul>
    <p><input type="submit" id='submit' value="Envoyer" /></p>
    </fieldset>
    </form>
    et le code de la classe Application_Form_CreateDomain, extension de Zend_Form est :
    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
    <?php
    require_once 'Zend/Form.php';
    require_once '/EText.php';
    class Application_Form_CreateClient extends Zend_Form
    {
        public function add_els($type){
            $els=array();
            $els[] = new Model_Form_EText("Code_Client", 'Code client');
     
                //société
                $els_company=array();
                $els_company[] = new Model_Form_EText("other",'Si autre');
                $els_company[] = new Model_Form_EText("Siren",'Siren');
                $els_company[] = new Model_Form_EText("trademark",'Marque');
                $this->addDisplayGroup($els_company, 'Société');
     
                $this->setDisplayGroupDecorators(array(
        'FormElements',
        'Fieldset'
    ));
            }
     
            $this->addElements ( $els );
            $this->setDecorators( array( array('ViewScript', array('viewScript' => 'client/form_create.phtml'))));
        }
    }
    Et j'obtiens le message:
    Warning: Exception caught by form: Method getLabel does not exist

    Je n'ai pas le message d'erreur si je commente les lignes addDisplayGroup et setDisplayGroupDecorators, j'ai essayé de suivre le tutoriel http://framework.zend.com/manual/fr/...orm.forms.html pour comprendre mon erreur, mais sans succès.
    Il y a quelque chose au niveau de la mise en place des display group qui m'échappe.
    Si quelqu'un voulait bien m'indiquer la voie à suivre...
    merci d'avance
    schwarzy2

  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 : 39
    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
    Je dirais que ton problème se situe dans Model_Form_EText qui ne doit pas disposer de getLabel

    En gros dans ton addDisplay je pense que tu ajoute un objet Zend_Form au lieu d un Zend_Form_Element

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 11
    Dernier message: 22/12/2003, 21h06
  3. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 19h47
  4. Merci d'utiliser les TAG
    Par Cian dans le forum Etudes
    Réponses: 0
    Dernier message: 07/08/2003, 17h46
  5. Utiliser les frames
    Par laury dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/05/2003, 10h14

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