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 :

Ajout de champ dans un formulaire [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut Ajout de champ dans un formulaire
    j'utilise le fosuserbundle et dans le formulaire d'inscription que j'ai hérité, j'ai rajouté des champs de type String (nom et prénom) et un champ (photo) qui est un clé étrangère:
    Nom : 1.png
Affichages : 214
Taille : 6,3 Ko

    voilà le code de chaque fichier

    Utilisateurs\UtilisateursBundle\Entity\Photo.php

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php
    namespace Utilisateurs\UtilisateursBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\validator\Constraints as Assert;
     
    /**
     * Photo
     *
     * @ORM\Table("photo")
     * @ORM\Entity(repositoryClass="Utilisateurs\UtilisateursBundle\Repository\PhotoRepository")
     * @ORM\HasLifecycleCallbacks
     */
     
    class Photo
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
        /**
         * @var string
         *
         * @ORM\Column(name="path", type="string", length=255)
         */
        private $path;
     
        /**
         * @var string
         *
         * @ORM\Column(name="alt", type="string", length=125)
         */
        private $alt;
     
     
        /**
         * Get id
         *
         * @return integer
         */
        public function getId()
        {
            return $this->id;
        }
     
        /**
         * Set path
         *
         * @param string $path
         * @return Photo
         */
        public function setPath($path)
        {
            $this->path = $path;
     
            return $this;
        }
     
        /**
         * Get path
         *
         * @return string
         */
        public function getPath()
        {
            return $this->path;
        }
     
        /**
         * Set alt
         *
         * @param string $alt
         * @return Photo
         */
        public function setAlt($alt)
        {
            $this->alt = $alt;
     
            return $this;
        }
     
        /**
         * Get alt
         *
         * @return string
         */
        public function getAlt()
        {
            return $this->alt;
        }
    }
    Utilisateurs\UtilisateursBundle\Entity\Utilisateurs.php
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <?php
    namespace Utilisateurs\UtilisateursBundle\Entity;
     
    use FOS\UserBundle\Model\User as BaseUser;
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;
     
    /**
     * @ORM\Entity
     * @ORM\Table(name="utilisateurs")
     */
    class Utilisateurs extends BaseUser
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * @ORM\OneToOne(targetEntity="Utilisateurs\UtilisateursBundle\Entity\Photo", cascade={"persist","remove"})
         * @ORM\JoinColumn(nullable=false)
         */
        private $photo;
        /**
         * @ORM\Column(type="string", length=255)
         */
        protected $name;
     
        /**
         * @ORM\Column(type="string", length=255)
         */
        protected $firstname;
        public function __construct()
        {
            parent::__construct();
        }
     
     
        /**
         * Get id
         *
         * @return integer
         */
        public function getId()
        {
            return $this->id;
        }
     
        /**
         * Get name
         *
         * @return string
         */
        public function getName()
        {
            return $this->name;
        }
     
        /**
         * Set name
         *
         * @param string $name
         * @return Utilisateurs
         */
        public function setName($name)
        {
            $this->name = $name;
     
            return $this;
        }
        /**
         * Get firstname
         *
         * @return string
         */
        public function getFirstName()
        {
            return $this->firstname;
        }
     
        /**
         * Set firstname
         *
         * @param string $firstname
         * @return Utilisateurs
         */
        public function setFirstName($firstname)
        {
            $this->firstname = $firstname;
     
            return $this;
        }
     
        /**
         * Set photo
         *
         * @param \Utilisateurs\UtilisateursBundle\Entity\Photo $photo
         * @return Utilisateurs
         */
        public function setPhoto(\Utilisateurs\UtilisateursBundle\Entity\Photo $photo)
        {
            $this->photo = $photo;
     
            return $this;
        }
     
        /**
         * Get photo
         *
         * @return \Utilisateurs\UtilisateursBundle\Entity\Photo
         */
        public function getPhoto()
        {
            return $this->photo;
        }
     
        /**
         * Set firstname
         *
         * @param string $firstname
         * @return Utilisateurs
         */
     
    }
    Utilisateurs\UtilisateursBundle\Form\Type\RegistrationFormType.php
    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
    <?php
     
    namespace Utilisateurs\UtilisateursBundle\Form\Type;
     
    use Symfony\Component\Form\FormBuilderInterface;
    use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
     
    class RegistrationFormType extends BaseType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            parent::buildForm($builder, $options);
     
            $builder
     
                ->add('name','text',array('label' => 'nom'))
                ->add('firstname','text',array('label' => 'prenom'));
        }
     
        public function getName()
        {
            return 'pv_user_registration';
        }
    }
    app\config\config.yml
    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
    fos_user:
        db_driver: orm
        firewall_name: main
        user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
        registration:
            form:
                type: pv_user_registration
     
     
    services:
        pv_user.registration.form.type:
            class: Utilisateurs\UtilisateursBundle\Form\Type\RegistrationFormType
            arguments: [%fos_user.model.user.class%]
            tags:
                - { name: form.type, alias: pv_user_registration }
    => dans ce cas j'ai rajouter les champs nom(name) et prenom(firstname) lors de l'inscription d'utilisateurs mis comment je peux rajouter le champs photo sachant qui n'est pas un champs simple ?
    et est ce que je peux remplir le table Utilisateurs et Photo dans la même formulaire comme suit:
    Nom : 2.png
Affichages : 199
Taille : 29,9 Ko
    svp quelqu'un m'aide

  2. #2
    Membre extrêmement actif
    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
    Par défaut
    HUGH !

    et bien mec il faut rajouter un champs FILE
    la doc: http://symfony.com/fr/doc/current/re...ypes/file.html

    pour gérer l'upload :
    la doc : http://symfony.com/fr/doc/current/co...e_uploads.html

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut
    merci pour votre reponse
    j'ai trouver une problème de manipulation de fichier envoyé puisque dans mon cas je peux pas traiter le fichier uploadé dans le controller de FOSUserBundle (on peut pas modifier les contoller de bundle installé)
    Donc ou j'ai veux ajouter cette ligne????
    $utilisateur->getPhoto()->upload();

    Nom : erreur.png
Affichages : 188
Taille : 98,1 Ko

  4. #4
    Membre extrêmement actif
    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
    Par défaut
    tu n'as pas bien lu la doc , on peut surcharger les controller de fosUserBundle.

    un exemple ici :
    https://github.com/FriendsOfSymfony/...controllers.md

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Par défaut
    ok merci

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

Discussions similaires

  1. Ajouter un champs dans un formulaire
    Par marry dans le forum Langage
    Réponses: 5
    Dernier message: 02/10/2009, 17h13
  2. Ajouter des champs dans un formulaire
    Par king10481 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/04/2008, 09h15
  3. Ajouter des champs dans un formulaire.
    Par Invité dans le forum ASP.NET
    Réponses: 19
    Dernier message: 08/11/2007, 10h20
  4. Ajouter un champ dans un formulaire (classique)
    Par psgman113 dans le forum Langage
    Réponses: 9
    Dernier message: 14/05/2007, 17h21
  5. Ajouter des champs dans un formulaire
    Par Luffy Duck dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2006, 10h30

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