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] Remplir un formulaire par Doctrine et non par une classe


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] Remplir un formulaire par Doctrine et non par une classe
    Bonjour,

    J'essaye d'attribuer des valeurs à mon formulaire dynamique sans classe. J'ai essayé avec 'data', ça ne fonctionne pas.

    Je vous mets ci-dessous le code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $list_param = $this->getDoctrine()->getEntityManager()->getRepository('CyrApplicationBundle:Parametre')->findByApplication($request->get('id'));
     
        	$qb = $this->createFormBuilder();
     
        	foreach($list_param as $lp)
        	{
        		$qb->add($lp->getNom(),$lp->getType(),array('mapped'=>false,'data'=>'test'));
        	}
     
        	$form = $qb->getForm();
    Bien évidemment, pour comprendre le fonctionnement j'attribue une valeur en dur dans tous mes champs pour test. Une fois compris, j'attribuerais mes valeurs récupéré par une requête doctrine.

    Avez-vous une idée ? Merci d'avance.

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Salut,

    Essaye ça :
    http://symfony.com/doc/current/book/...ithout-a-class

    Et si tu as toujours un problème, pense à expliquer comment il se manifeste : message d'erreur etc.

    ++

  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
    Salut,

    J'avais déjà essayé cette solution mais ça ne fonctionne pas.
    J'ai fait autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $list_param = $this->getDoctrine()->getEntityManager()->getRepository('CyrApplicationBundle:Parametre')->findByApplication($request->get('id_app'));
     
        	$qb = $this->createFormBuilder();
     
        	foreach($list_param as $lp)
        	{
        		$param_user = $this->getDoctrine()->getEntityManager()->getRepository('CyrApplicationBundle:ParametreUser')->findParametreAndUser($lp->getId(),$request->get('id_user'));
        		if($param_user[0]['value']=='') $val=null; else $val = $param_user[0]['value'];
        		$qb->add($lp->getNom(),$lp->getType(),array('mapped'=>false,'attr' => array('value' => $val)));
        	}
     
        	$form = $qb->getForm();
    Je suis passé par attr en injectant un tableau clé value.

    jusque là ça fonctionne. maintenant faut que j'ajoute les contraintes à mon formulaire dynamique. Pour ça je vais m'inspirer de la doc de SF2 juste après ton lien (Validation without class)

    J'ai surement un autre problème mais je vais tester une solution avant de poster ici

    Merci encore. A+

  4. #4
    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 [Symfony2] Formulaire dynamique via Doctrine + validation sans classe
    Bonjour à tous,

    Le sujet : Je souhaite créer un formulaire avec tout ce qu'il y a de plus classique en terme de champs (text, textarea, checkbox, date, select…) et qui peut être administré par une interface utilisateur. C'est à dire qu’un administrateur peut rajouter un champ au formulaire, de le modifier, ou d'en supprimer pour une ou plusieurs applications.

    Par exemple :

    1. Application : Google

    a. Champ 1 : login de type text et en contrainte : minimum 5 caractères.
    b. Champ 2 : password de type password et en contrainte : minimum 10 caractères.
    c. Champ 3 : siteweb de type url.


    2. Application : Bing

    a. Champ 1 : login de type text et en contrainte : minimum 10 caractères.
    b. Champ 2 : password de type password et en contrainte : minimum 15 caractères.
    c. …


    3.…



    Stockage de la configuration du formulaire : Il suffit de créer une table application qui contiendra les champs suivants :
    • id
    • nom
    • description
    • ...


    Et une table paramètre contenant les champs du formulaire pour chaque application qui aurait une forme de ce genre :

    • id
    • application_id
    • nom
    • libelle
    • type (text, checkbox, date,...)
    • options (validation à définir selon les besoins)
    • ...


    Jusque-là, la création d’une application et de ses paramètres via formulaire imbriqué en suivant le tuto de winzou, est fonctionnelle.
    Puis vient ensuite l’affichage du formulaire en récupérant via Doctrine tous les champs d’une application et créer le buildForm. Là aussi ça fonctionne bien.

    Mais maintenant vient ensuite le stockage des données saisies dans le formulaire en base pour un utilisateur.

    Stockage des données entrées dans le formulaire : C'est ici que je m'y perds complètement... Comment stocker les données lorsqu'un utilisateur complète le formulaire? Et par quel moyen pour valider les données étant donné qu’il n’y a pas de classe Object associée à ce formulaire ? J’ai déjà regardé du côté de la doc SF2 avec les formulaires sans classe. Mais sans succès…

    J’ai pensé à créer une table parametre_user de type ManyToMany avec comme attributs :
    • user_id
    • parametre_id
    • value


    Bien évidemment, cette table sera une classe avec 2 relations ManyToOne et avec des attributs supplémentaires.

    Je ne sais pas si c’est la meilleure solution pour stocker ces valeurs. Donc si vous pouvez me conseiller ou si vous avez des solutions plus simples, ça m’intéresse !

    En attente de votre retour. Merci.

  5. #5
    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
    Personne a une idée ?

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/10/2014, 11h52
  2. Webi Rich Client - Filtrer par ID et non par ligne
    Par keskonkai dans le forum Webi
    Réponses: 0
    Dernier message: 20/09/2013, 12h17
  3. [XL-2000] Calcul par ligne et non par page.
    Par j.cedric dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 05/01/2010, 17h29
  4. Réponses: 4
    Dernier message: 02/02/2009, 22h03
  5. tri d'un répertoire par type et non par ordre alphabétique
    Par panach91 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 12/02/2008, 10h02

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