src/Form/SearchForm.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\OptionsResolver\OptionsResolver;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  8. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use App\Data\SearchData;
  11. use App\Entity\DomainActivity;
  12. use App\Entity\District;
  13. use App\Entity\Job;
  14. class SearchForm extends AbstractType
  15. {
  16.     public function buildForm(FormBuilderInterface $builder, array $options){
  17.         $builder
  18.             ->add('q'TextType::class,[
  19.                 'label'=>false,
  20.                 'required'=>false,
  21.                 'attr'=>[
  22.                     'placeholder'=>'Rechercher',
  23.                     'class'=>'form-control col-12 py-0 my-0 mx-0 px-0',
  24.                 ],
  25.             ])
  26.             ->add('districts'EntityType::class,[
  27.                 'label'=>false,
  28.                 'required'=>false,
  29.                 'class'=>District::class,
  30.                 'expanded'=>true,
  31.                 'multiple'=>true,
  32.             ])
  33.             ->add('categories'EntityType::class,[
  34.                 'label'=>false,
  35.                 'required'=>false,
  36.                 'class'=>DomainActivity::class,
  37.                 'expanded'=>true,
  38.                 'multiple'=>true,
  39.                 
  40.             ])
  41.             ->add('jobs'EntityType::class,[
  42.                 'label'=>false,
  43.                 'required'=>false,
  44.                 'class'=>Job::class,
  45.                 'expanded'=>true,
  46.                 'multiple'=>true,
  47.                 
  48.             ])
  49.             ->add('priceMin'NumberType::class,[
  50.                 'label'=>false,
  51.                 'required'=>false,
  52.                 'attr'=>[
  53.                     'placeholder'=>'Prix minimum',
  54.                 ],
  55.             ])
  56.             ->add('priceMax'NumberType::class,[
  57.                 'label'=>false,
  58.                 'required'=>false,
  59.                 'attr'=>[
  60.                     'placeholder'=>'Prix maximum',
  61.                 ],
  62.             ])
  63.             //champ pour les promotions
  64.             /*->add('promo', CheckboxType::class,[
  65.                 'label'=>'En promotion',
  66.                 'required'=>false,
  67.             ])*/
  68.        ;
  69.     }
  70.     
  71.     
  72.     /**
  73.      * configure les options du formulaire
  74.      * {@inheritDoc}
  75.      * @see \Symfony\Component\Form\AbstractType::configureOptions()
  76.      */
  77.     public function configureOptions(OptionsResolver $resolver){
  78.         $resolver->setDefaults([
  79.             'data_class'=>SearchData::class,
  80.             'method'=>'GET',
  81.             'crsf_protection'=>false,
  82.         ]);
  83.     }
  84.     
  85.     /**
  86.      * indique l'url retournée
  87.      * 
  88.      */
  89.     public function getBlockPrefix(){
  90.         //retourne une chaine de caractère vide
  91.         return '';
  92.     }
  93.     
  94. }