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 :

Récupérer dans un formulaire l'ensemble de l'utilisateur FosUserBundle


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 58
    Points
    58
    Par défaut Récupérer dans un formulaire l'ensemble de l'utilisateur FosUserBundle
    Bonjour ,

    J’utilise FosUserBundle et j'aimerai pouvoir récupérer l'utilisateur dans un formulaire afin de le modifier, cependant je ne récupère seulement que le formulaire imbriqué à l'entité User de FosUserBundle

    Mon controller
    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
     
        public function ModifierUtilisateurAction($id){
     
          $em = $this->getDoctrine()
          ->getManager()
          ->getRepository('...:Utilisateurs')
          ->find($id);
     
            $form   = $this->get('form.factory')->create(UtilisateursType::class, $em);
     
          if (!$em) {
              throw $this->createNotFoundException('Impossible de trouver l\'entitée.');
          }
     
          return $this->render('...:Utilisateur:modifier.html.twig', array(
              'entity'      => $em,
              'form' => $form->createView(),
          ));
    }
    Ma vue
    Mon entité Type
    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
    27
    28
    29
     
    class UtilisateursType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('firstName')
                ->add('adress')
                ->add('postal')
                ->add('city')
                ->add('phone')
                ->add('job')
            ;
        }
     
        /**
         * @param OptionsResolver $resolver
         */
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => '...\Utilisateurs'
            ));
        }
    }
    Mon entité
    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
    27
    28
    29
    30
    31
    32
     
     
    use FOS\UserBundle\Model\User as BaseUser;
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * @ORM\Entity
     * @ORM\Table(name="utilisateurs")
     */
    class Utilisateurs extends BaseUser
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * @ORM\Column(type="string")
         */
        private $firstName;
     
        /**
         * @ORM\Column(type="string")
         */
        private $adress;
     
        /**
         * @ORM\Column(type="string")
         */
    ....
    J'arrive à récupérer l'ensemble sans le formulaire mais si je veux le récupérer dans le formulaire il ne prend que l'ajout des nouveau champs ...
    Comment avoir accés à user.php de fosUserBundle ?
    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 58
    Points
    58
    Par défaut
    Personne n'a eu ce problème ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,
    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
     
     
     
       public function editAction(Request $request, Utilisateur $Utilisateur)
    {
       $em = $this->getDoctrine()->getManager();
       $Utilisateur = $em->getRepository('...:Utilisateurs')->find($id);
      if (!$Utilisateur ) {
              throw $this->createNotFoundException('Impossible de trouver l\'entitée.');
          }
            $form = $this->createForm('...\Form\UtilisateursType', $Utilisateur );
            $form->handleRequest($request);
            if ($form->isSubmitted() && $form->isValid()) {
                $em = $this->getDoctrine()->getManager();
                $em->persist($Utilisateur );
                $em->flush();
     
               //
            }
         return $this->render('...:Utilisateur:modifier.html.twig', array(
              'entity'      => $Utilisateur ,
              'form' => $form->createView(),
          ));
     
    }
    et pour la form , tu ajoute ce que tu veux afficher , par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
     
            $builder
                ->add('username', null, array('label' => 'form.username', 'translation_domain' => 'FOSUserBundle'))           
                ->add('email', LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\EmailType'), array('label' => 'form.email',        'translation_domain' => 'FOSUserBundle'))                     
           ////
            ;
        }
    pour la form twig , utilise la form detaillé comme ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div>
        {{ form_label(form.age) }}
        {{ form_errors(form.age) }}
        {{ form_widget(form.age) }}
    </div>

Discussions similaires

  1. [PHP 5.4] Récupérer dans un formulaire des fichiers une fois validées
    Par Paul75 dans le forum Langage
    Réponses: 1
    Dernier message: 22/07/2015, 15h56
  2. Réponses: 7
    Dernier message: 29/04/2015, 19h17
  3. Récupérer données dans un formulaire continu
    Par benazerty dans le forum Access
    Réponses: 1
    Dernier message: 12/09/2006, 17h44
  4. Réponses: 6
    Dernier message: 26/11/2005, 15h43
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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