J'ai un problème avec mon formulaire. J'ai essayé d'obtenir la valeur de la forme mais aucun résultat. Ma forme est:Comment obtenir des données à partir d'un formulaire utilisant la méthode GET
<form action="{{ path('show_product_category',{ 'id':category.getId(), 'name':category.getCategoryLink() }) }}" method="get" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="submit" class="btn btn-primary marg-left-20" value="Search"/>
</form>
Mon contrôleur:
$entity = new Product();
$form = $this->createForm(new ProductType(), $entity);
$request = $this->getRequest();
$form->handleRequest($request);
//Get filter array from search
if ($form->isValid()) {
$aFilter['iMinPrice'] = $form["min_price"]->getData();
$aFilter['iMaxPrice'] = $form["max_price"]->getData();
}
print_r($aFilter);
Mon ProductRepository:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('min_price', 'text', array('mapped' => false, 'label' => 'From :', 'attr'=>
array(
'placeholder'=>'Max price',
'class'=>'form-control')))
->add('max_price', 'text', array('mapped' => false, 'label' => 'To :' , 'attr'=>
array(
'placeholder'=>'Minim price',
'class'=>'form-control')))
//->add('colors', 'choice', array('mapped' => false, 'choices' => Colors::getColors(), 'multiple' => TRUE, 'expanded' => TRUE))
;
}
aFilter est NULL mais si je en utilisant la méthode POST dans aFilter je reçois la valeur de la forme. Aidez-moi, s'il vous plaît!
'$ form-> get ('min_price') -> getData()'? – stevenll
Vous avez créé votre formulaire avec $ entity comme valeur, donc vos valeurs de formulaire sont mappées dans la variable $ entity. Appelez simplement vos méthodes de produit: $ entity-> getMinPrice(); $ entity-> getMaxPrice(); –
J'ai modifié la question. Le prix min et max ne fait pas partie de l'entité. Je répète pour la méthode POST cela fonctionne mais pour GET ne fonctionne pas – TanGio