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] Choix de type


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Points : 13
    Points
    13
    Par défaut [Form] Choix de type
    Bonsoir,

    Voici mon problème, j'ai créer un formulaire d'enregistrement pour mes utilisateurs.

    Ma classe qui créer le formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class UserRegistrationType extends AbstractType
    {
        //...
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('username', 'text');
            $builder->add('password', 'password');
            $builder->add('email', 'text');
            $builder->add('roles', 'choice', array('choices' => array('1' => 'USER', '2' => 'ADMIN', '3' => 'SUPER ADMIN')));
        }
        //...
    }
    J'obtient un jolie message d'erreur, "Notice: Array to string conversion...".
    Dans ma classe User, le champs roles est de type array, comment faire pour régler ce problème ?

    Merci bien!

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    sans
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Suivant la version de FOSUserBundle, le code sera différent
    mais c'est pas bien grave, c'est le principe qui compte

    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
     
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilder;
    use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
     
    class RegistrationFormType extends BaseType
    {
        public function buildForm(FormBuilder $builder, array $options)
        {
            parent::buildForm($builder, $options);
     
           // Les champs ('usernane', 'password', 'email') sont déjà présents
     
           // tu peux ajouter d'autres champs ici: (par exemple: A,B,C,D,E)
     
            $builder
                  ->add('A')
                  ->add('B')
                  ->add('C')
                  ->add('D')
                  ->add('E')
           }
     
           public function getName()
          {
           return '..._user_registration';
          }
    La surcharge du formulaire d’édition de profil de FOSUserBundle

    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
     
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilder;
    use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;
     
    class ProfileFormType extends AbstractType 
    {
        public function buildForm(FormBuilder $builder, array $options)
        {
            parent::buildForm($builder, $options); 
     
            // Ajoutes tes champs ici:
     
            $builder
                  ->add('A')
                  ->add('B')
                  ->add('C')
                  ->add('D')
                  ->add('E')
                  ->add('roles', 'choice', array(
                      'choices' => array('USER' => 'USER'),
                      'multiple' => true, ));
           public function getName()
          {
           return '..._user_profile';
          }
    A toi de personnaliser tes roles comme tu veux

    Tu dois également ajouter .._user_profile.form.type dans service.yml

Discussions similaires

  1. Choix de type de données oracle
    Par dadg dans le forum Oracle
    Réponses: 3
    Dernier message: 04/09/2006, 13h56
  2. [MySQL] Choix du type de champs
    Par hbellahc dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/09/2006, 21h40
  3. Mysql : choix des types pour les champs entre :
    Par Thierry8 dans le forum Administration
    Réponses: 3
    Dernier message: 14/06/2006, 08h22
  4. [architecture] Choix du type de pile
    Par Neitsa dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 29/11/2005, 10h04
  5. choix des types
    Par cali dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/08/2004, 13h16

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