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

Symfony PHP Discussion :

Divisé le formulaire en plusieurs parties (affichage) [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 19
    Points : 23
    Points
    23
    Par défaut Divisé le formulaire en plusieurs parties (affichage)
    Bonjour,

    Je souhaite afficher un formulaire en plusieurs morceaux :

    utilisateur: //1er bloc

    Nom
    Prénom
    ...

    Adresse de facturation: //2eme bloc
    adresse
    Code postal
    ville
    Adresse de livraison: //3eme bloc
    adresse
    Code postal
    ville

    Pour des raisons techniques je ne peux pas le faire dans le fichier generator.yml car j'ai plusieurs formulaires pour un même module et j'utilise le plugin sfDoctrineGuardPlugin qui fait pas mal de include_partial donc si je modifie directement dans le template cela va modifier mes autres formulaires du module.

    Donc je voudrai configurer le formulaire directement dans ma classe class sfGuardAddUserForm et lui ajouter des 'titres' pour chaque blocs:

    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
    class sfGuardAddUserForm extends BasesfGuardUserAdminForm {
     
        /**
         * @see sfForm
         */
        public function configure() {
     
            unset(
                    $this['groups_list'], $this['permissions_list'], $this['is_super_admin'], $this['is_active'], $this['username']
            );
     
     
            $this->mergeForm(new adresseFactForm());
            $this->mergeForm(new adresseLivraisonForm());
     
     
        }
     
    }
    Merci d'avance.

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    salut,

    en ce moment ça m'arrive pas mal de splitter mes formulaires sur plusieurs écrans. C'est pratique quand les formulaires sont très longs.

    Voici comment je procède, en espérant que ça puisse t'aider :

    1. Je configure le formulaire de "base" (sfGuardAddUserForm) avec l'ensemble des widgets et des validateurs
    2. Pour chaque écran, je crée des sous-formulaires qui étende le formulaire de "base"
    3. Je stocke, dans les actions, les données entrées par l'utilisateur dans un tableau dans la session de l'utilisateur. Dans la dernière action de la séquence, je récupère l'ensemble des données dans la variable de session pour créer et sauvegarder l'objet en db.

    Pense aussi que quand tu découpes tes formulaires, il faut prévoir un bouton retour qui te permette de revenir à l'écran précédent. D'avoir stocké les valeurs entrées par l'user en session te permettra d'initialiser les champs de formulaire avec ce que viens d'entre l'user (il n'aimerait pas à avoir à tout retaper).

    Voilà j'espère que ça t'aidera...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Salut, merci d'abord de m'avoir répondu.

    Merci pour ta méthode, je verrai si je peux l'appliquer en fonction de se que je souhaite.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    ok, donc dans tes "sous-formulaires", tu utilises un $this->useFields() avec les champs dont tu as besoin...

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

Discussions similaires

  1. Formulaire en plusieurs parties
    Par developpeurpouce dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2009, 15h21
  2. Formulaire en plusieurs parties, avec validation
    Par Flackou dans le forum Ruby on Rails
    Réponses: 15
    Dernier message: 20/05/2008, 16h32
  3. Formulaire en plusieurs parties ? (avec controle des erreurs)
    Par fabseven dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 04/04/2008, 16h23
  4. Réponses: 4
    Dernier message: 09/08/2007, 10h26
  5. Affichage de texte en plusieurs partie dans la meme fenetre
    Par ClaudeHarvey dans le forum VBScript
    Réponses: 3
    Dernier message: 28/03/2007, 19h21

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