src/Form/ArticleSearchType.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Category;
  4. use App\Entity\ArticleSearch;
  5. use Doctrine\ORM\EntityRepository;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  9. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use Symfony\Component\Form\Extension\Core\Type\SearchType;
  12. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  13. use Symfony\Component\Form\Extension\Core\Type\TextType;
  14. class ArticleSearchType extends AbstractType
  15. {
  16.     public function buildForm(FormBuilderInterface $builder, array $options)
  17.     {
  18.         $builder
  19.             ->add('mots',SearchType::class,[
  20.                 'label'=>false,
  21.                 'attr'=>[
  22.                     'id'=>'searchBox',
  23.                     'class'=>'form-primary rounded s',
  24.                     'placeholder'=>'Recherche'
  25.                 ],
  26.                 'required'=>false
  27.             ])
  28.             ->add('maxPrice',IntegerType::class,[
  29.                 'required'=>false,
  30.                 'label'=>false,
  31.                 'attr'=>[
  32.                     'placeholder'=>'Prix Max',
  33.                     'class'=>'form-primary'
  34.                 ]
  35.             ])
  36.             ->add('minPrice',IntegerType::class,[
  37.                 'required'=>false,
  38.                 'label'=>false,
  39.                 'attr'=>[
  40.                     'placeholder'=>'Prix Min',
  41.                     'class'=>'form-primary'
  42.                 ]
  43.             ])
  44.             ->add('brand',TextType::class,[
  45.                 'required'=>false,
  46.                 'label'=>false,
  47.                 'attr'=>[
  48.                     'placeholder'=>'Marque',
  49.                     'class'=>'form-primary'
  50.                 ]
  51.             ])
  52.             ->add('etat',TextType::class,[
  53.                 'required'=>false,
  54.                 'label'=>false,
  55.                 'attr'=>[
  56.                     'placeholder'=>'Etat',
  57.                     'class'=>'form-primary'
  58.                 ]
  59.             ])
  60.             // ->add('category',EntityType::class,[
  61.             //     'class'=>Category::class,
  62.             //     // 'query_builder'=>function(EntityRepository $entityRepository){
  63.             //     //     return $entityRepository->createQueryBuilder('p')
  64.             //     //     ->where('is_anabled = true');
  65.             //     // },
  66.             //     'choice_label'=>'title',
  67.             //     'label'=>false,
  68.             //     'required'=>false,
  69.             //     'attr'=>[
  70.             //         'class'=>'form-primary',  
  71.             //     ],
  72.             //     'placeholder'=>'All articles'
  73.             // ])
  74.         ;
  75.     }
  76.     public function getCats(){
  77.         return 
  78.         [
  79.             'Ordinateur'=>'ordinateur'
  80.         ];
  81.     }
  82.     public function configureOptions(OptionsResolver $resolver)
  83.     {
  84.         $resolver->setDefaults([
  85.             'data_class' => ArticleSearch::class,
  86.             'method'=>'get',
  87.             'csrf_protection'=>false,
  88.              'translation_domain'=>'forms',
  89.         ]);
  90.     }
  91.    public function getBlockPrefix(){
  92.         return '';
  93.     }
  94. }