<?php
namespace App\Form;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use App\Data\SearchData;
use App\Entity\DomainActivity;
use App\Entity\District;
use App\Entity\Job;
class SearchForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->add('q', TextType::class,[
'label'=>false,
'required'=>false,
'attr'=>[
'placeholder'=>'Rechercher',
'class'=>'form-control col-12 py-0 my-0 mx-0 px-0',
],
])
->add('districts', EntityType::class,[
'label'=>false,
'required'=>false,
'class'=>District::class,
'expanded'=>true,
'multiple'=>true,
])
->add('categories', EntityType::class,[
'label'=>false,
'required'=>false,
'class'=>DomainActivity::class,
'expanded'=>true,
'multiple'=>true,
])
->add('jobs', EntityType::class,[
'label'=>false,
'required'=>false,
'class'=>Job::class,
'expanded'=>true,
'multiple'=>true,
])
->add('priceMin', NumberType::class,[
'label'=>false,
'required'=>false,
'attr'=>[
'placeholder'=>'Prix minimum',
],
])
->add('priceMax', NumberType::class,[
'label'=>false,
'required'=>false,
'attr'=>[
'placeholder'=>'Prix maximum',
],
])
//champ pour les promotions
/*->add('promo', CheckboxType::class,[
'label'=>'En promotion',
'required'=>false,
])*/
;
}
/**
* configure les options du formulaire
* {@inheritDoc}
* @see \Symfony\Component\Form\AbstractType::configureOptions()
*/
public function configureOptions(OptionsResolver $resolver){
$resolver->setDefaults([
'data_class'=>SearchData::class,
'method'=>'GET',
'crsf_protection'=>false,
]);
}
/**
* indique l'url retournée
*
*/
public function getBlockPrefix(){
//retourne une chaine de caractère vide
return '';
}
}