Bonjour,
Je voudrais surcharger le formulaire d'enregistrement d'utilisateur du bundle FOSUserBundle pour gérer les différents rôles d'un utilisateur à sa création. Je m'aide de ce tuto. Mais j'ai un super message d'erreur sur la route register/ :
" FatalErrorException: Compile Error: Declaration of Nas\UserBundle\Form\Type\RegistrationFormType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildForm() in C:\wamp\www\DevisNas\src\Nas\UserBundle\Form\Type\RegistrationFormType.php line 9 "
J'ai mon fichier UserBundle\Form\Type\RegistrationFormType.php pour ajouter une liste déroulante au formulaire de base
Puis mon fichier : 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
16
17
18
19
20
21
22
23
24
25
26
27 <?php namespace Nas\UserBundle\Form\Type; use Symfony\Component\Form\FormBuilder; use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; class RegistrationFormType extends BaseType { public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); // add your custom field $builder->add('roles', 'collection', array( 'type' => 'choice', 'options' => array( 'choices' => array( 'ROLE_ADMIN' => 'Admin', 'ROLE_EDITOR' => 'Editor')))); } public function getName() { return 'nas_user_registration'; } }
Mon fichier : UserBundle\Resources\config\services.yml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: Nas\UserBundle\Entity\User registration: form: type: nas_user_registration
Une idée les synfonystes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 parameters: # nas_user.example.class: Nas\UserBundle\Example services: nas_user.registration.form.type: class: Nas\UserBundle\Form\Type\RegistrationFormType arguments: [%fos_user.model.user.class%] tags: - { name: form.type, alias: nas_user_registration }
Mercii
Partager