src/Form/UserType.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  6. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. class UserType extends AbstractType
  10. {
  11.     public function buildForm(FormBuilderInterface $builder, array $options)
  12.     {
  13.         $services $options['available_services']; // récupéré depuis le contrôleur
  14.         $builder
  15.             ->add('nom')
  16.             ->add('email')
  17.             ->add('phone')
  18.             ->add('raison'ChoiceType::class, [
  19.                 'choices' => [
  20.                     'Personnes physique' => 'personne physique',
  21.                     'Société' => 'société',
  22.                 ],
  23.                 'placeholder' => 'Choose an option'// Optional: adds a default "empty" option
  24.                 // Other options as needed
  25.             ])
  26.             ->add('selectedServices'ChoiceType::class, [
  27.                 'choices'  => array_combine($services$services),
  28.                 'multiple' => true,
  29.                 'expanded' => true,
  30.                 'mapped' => false,
  31.                 'label' => 'Choisir les services',
  32.             ])
  33.             ->add('services'CollectionType::class, [
  34.                 'entry_type' => ServiceType::class,
  35.                 'allow_add' => true,
  36.                 "required" => false,
  37.                 'by_reference' => false,
  38.                 'label' => false,
  39.             ]);
  40.             
  41.     }
  42.     public function configureOptions(OptionsResolver $resolver)
  43.     {
  44.         $resolver->setDefaults([
  45.             'data_class' => User::class,
  46.             'available_services' => [], // valeur par défaut
  47.         ]);
  48.     }
  49. }