Bonjour.
J’essaie de faire un formulaire avec imbrication de champ. Je fais pour cela un listeneur :

$builder->add('nom')
                ->add('utilisateur', EntityType::class, array(
                    'label'         => "Nom du professionnel",
                    'class'         => 'UtilisateursBundle:Utilisateurs',
                    'mapped'        => false,
                    'required'       => false,
                    'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
                        return $er->createQueryBuilder("u")
                            ->where("u.roles LIKE '%pro%'");    //ne selectionne que les pro
                    },
                    ));
$builder->get('utilisateur')->addEventListener(
                FormEvents::POST_SUBMIT,
                function (FormEvent $event){
                    //die(var_dump($event->getForm()->getData()));  Le die ne se lance pas
                    $form = $event->getForm();
                    $form->getParent()->add('adresse', EntityType::class, [
                        'class'          => 'siteBundle:UtilisateursAdresses',
                        'placeholder'    => "Sélectionner l'adresse du professionel",
                        'mapped'         => false,
                        'required'       => false,
                        'choices'        => $form->getData()->getAdresses()
                    ]);
                }
                ); 

Mais Symfony ne lit pas la function FormEvent. Du coup, je n’ai pas le champ « adresse » dans ma vue.
Quelqu’un aurait une idée de mon erreur ? Y a til une option pour activer le listener sur Symfony 3.4 ?

Aucune réponse