add( 'position', ChoiceType::class, [ 'label' => 'Position', 'required' => true, 'choices' => [ 'Après' => 'after', 'Avant' => 'before', 'En dessous' => 'above', ], 'attr' => [ ], 'constraints' => [ new NotBlank(), ], ] ); $builder->add( 'node', EntityType::class, [ 'label' => 'Élement de référence', 'class' => Node::class, 'choices' => call_user_func(function () use ($options) { return $options['menu']->getRootNode()->getAllChildren(); }), 'choice_label' => 'treeLabel', 'attr' => [ ], 'constraints' => [ new NotBlank(), ], ] ); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => null, 'menu' => null, ]); } }