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 :

Agencer les éléments du formulaire dans la vue.


Sujet :

Zend_Form PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 134
    Points : 77
    Points
    77
    Par défaut Agencer les éléments du formulaire dans la vue.
    Bonjour,

    Je débute en Zend et j'essaye de comprendre comment marche leur formulaire.
    Dans les différents tutos que j'ai vu, on commencait d'abord par créér le formulaire dans le controller de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            $form = new Zend_Form();
            $form->setAction('profile/form')
            ->setMethod('post');
     
     
     
            $form->addElement('text', 'nom');
            $arf = $form->addElement('text', 'prenom');
            $form->addElement('submit', 'ok');
    Puis on l'affichait dans la vue de cette façon:
    C'est évidemment problématique puisque ça affiche le formulaire d'un seul bloc.
    Comment faire donc pour avoir accès à chaque élément séparemment dans la vue pour pouvoir faire le rendu qu'on veut? (faire un joli tableau à deux colonnes, typiquement).

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Pour faire ce que tu veux avec un Zend_Form, il faut utiliser des décorateurs qui permettent d'ajouter des balises personnalisées. Une présentation des décorateurs : http://julien-pauli.developpez.com/t...nd_Form#LXII-C

    Maintenant, je ne pense pas que faire un tableau soit une solution adaptée (à moins d'avoir des éléments de formulaire de mêmes types, pour lesquels une organisation en tableau a un sens). Si c'est juste une question de présentation, alors il est préférable de la gérer en CSS...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $form = new Zend_Form('formulaireE');
    $form->setAction('profile/form')
            ->setMethod('post');
     
    $form->addElement('text', 'nomE');
    $arf = $form->addElement('text', 'prenomE');
    $form->addElement('submit', 'ok');
    tu peux afficher les differents elements de ton formulaire, dans la vue (formulaire.phtml), avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $this->formulaireE->nomE; //pr afficher l'element input type text NomE)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 134
    Points : 77
    Points
    77
    Par défaut
    Merci à vous deux pour vos réponses.
    Eusebe, ta solution semble être préconisé officiellement mais personellement j'aime moyen.
    Ca revient à créér l'aspect du formulaire dans le controlleur...
    LeSquale35, ta solution me conviendrait mieux, mais comment mettre en place les autres éléments du formulaire comme les paramètres POST, etc.. ? Parce que avec seulement ça, il n'y a pas moyen d'envoyer le formulaire...

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    En fait, il ne s'agit pas vraiment à mon sens de mélanger la vue et le contrôleur, mais plutôt de mélanger des éléments de la vue et du modèle.

    Un formulaire n'a je pense rien à faire dans un contrôleur .

    Le problème de la gestion des formulaires telle qu'elle est proposée dans Zend est qu'elle mélange des notions du modèle (la validation des données en première ligne) et des notions de la vue (les décorateurs, mais aussi tout simplement la création des éléments html de formulaire eux-même).

    Pour cette raison, certaines personnes n'utilisent les formulaires du framework que pour valider les données, et construisent manuellement le formulaire dans la vue. Il y a déjà eu des discussions de ce type sur ce forum, mais j'ai pas trop le temps de les rechercher tout de suite...

Discussions similaires

  1. Récupérer les valeurs du formulaire dans execute()
    Par handsome01 dans le forum Struts 1
    Réponses: 10
    Dernier message: 28/03/2009, 03h19
  2. [DOM] Insertion élément de formulaire dans page html
    Par seïna dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 24/09/2008, 23h22
  3. Les éléments de formulaire par dessus un DIV
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/07/2007, 23h28
  4. Agencer les éléments d'une fenêtre
    Par argon dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 18/05/2006, 09h20
  5. Agencer les éléments d'une fenêtre
    Par argon dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 17/02/2006, 08h17

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