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 :

[Form] Génération d'un formulaire via des données Doctrine2 [2.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut [Form] Génération d'un formulaire via des données Doctrine2
    Bonjour,

    J'ai un petit problème sur la réalisation d'une fonctionnalité avec Symfony2+Doctrine+FormType.

    Je vous explique ce que je souhaite réaliser :
    Je dispose 3 tables : user, application et parametre. 1 utilisateur peut avoir 0 ou plusieurs applications (relation ManyToMany). Et chaque application peut avoir 0 ou plusieurs paramètres (relation OneToMany) avec une gestion dynamique de ParametreType pour ajouter/modifier/supprimer à l'infini.
    Je précise que les données de la table Paramètre permettront de créer le formulaire ! En gros je stocke tous les éléments formulaires du type text,textarea,choice,email...

    Les relations fonctionnent parfaitement. Mais maintenant j'essaye de créer le formulaire listant les paramètres d'une application pour pouvoir saisir des valeurs et ensuite l'enregistrer dans une table ayant pout clé étrangère : id_parametre et id_user.

    Comme une image vaut milles mots , je vous ai fait un schéma simplifié sur Workbench : Voir le schéma

    Comme je viens de démarrer sur Symfony 2 depuis fin Janvier 2013, je n'ai pas encore acquis énormément d'expérience avec cette framework puissante . Ne voulant pas partir dans tous les sens, je me tourne vers vous pour avoir vos avis, conseils ou remarques concernant mon cas. Plusieurs questions concernant mon cas :
    • Avez-vous déjà vu un cas similaire à mon problème ?
    • Est ce réalisable ?
    • Si oui, comment dois-je m'y prendre pour réaliser ça ? (J'avoue que cette partie est assez complexe à développer, et je ne sais comment m'y prendre...)


    Votre aide est le bienvenue. Merci d'avance.

    Bon après-midi.

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    cette commande :

    php app/console doctrine:generate:crud .........................
    [--entity=...] [--route-prefix=...]
    [--with-write] [--format=...]



    génère tout ce qu'il faut(formulaire, page, route...) à partir d'une entité. à toi ensuite de personnaliser ou te baser sur cela pour modifier comme tu veux.


    t'expliquer comme ça ici chaque étape serai trop long.
    et c'est la fonction des tutos :
    http://symfony.com/doc/current/index.html

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    Bonjour Dukoid,

    Je vois ce que tu veux dire mais ça ne répond pas à mes questions, j'ai déjà réalisé des formulaires de différentes façon sauf que la c'est différent. j'explique:

    Exemple :

    J'ajoute une application via un formulaire, puis des paramètres associés via javascript+dataprototype et ArrayCollection pour la persistance.

    Application 1:
    • libelle=login, type=text, default=null, obligatoire=true
    • libelle=mdp, type=password,default=null, obligatoire=true
    • libelle='site web', type=url, default=null, obligatoire=false


    Jusque là tout va bien. Maintenant je dois générer un FormType avec les 3 lignes de paramètres citées précédemment.

    Avec doctrine j'arrive a récupérer la liste des paramètres d'une application avec FindById(...).
    Puis je dois faire une boucle pour pour réaliser un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $form = $this->createFormBuilder();
     
    foreach($list_param as $p)
    {
         $form->add($lp->getLibelle(),$lp->getType(),array('mapped'=>false....)); 
    }
     
    $form->getForm();
    Le code cité ci-dessus ne fonctionne pas car visiblement il aime pas trop que je sépare cette ligne $this->createFormBuilder() par rapport au méthode add. idem pour le getForm(). (bizarre?)

    j'ai remarqué qu'il faut que je mette un mapped false vu qu'il n'y a pas vraiment de classe associée pour gérer les données. En gros un formulaire sans mappage.

    C'est plus clair comme ça ?

    Mais comme j'en ai jamais fait donc je ne sais pas trop comment m'y prendre.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/11/2006, 22h42
  2. Formulaire, conservation des données
    Par cerede2000 dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2006, 08h17
  3. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  4. Réponses: 3
    Dernier message: 03/01/2006, 21h43
  5. Réponses: 10
    Dernier message: 15/09/2005, 12h31

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