J'ai une méthode:Comment obtenir des données d'un formulaire dans Symfony2
public function showCategoryAction($id, $page, Request $request){
$em = $this->getDoctrine()->getManager();
$repositoryProduct = $em->getRepository('ShopDesktopBundle:Product');
$aFilter = array();
$form = $this->get('form.factory')->createNamedBuilder('', 'form', null, array(
'csrf_protection' => false,
))
->setMethod('GET')
->add('minimPrice', 'text', array('mapped' => false, 'label' => 'De la :' , 'attr'=>
array(
'placeholder'=>'Minim price',
'class'=>'form-control')))
->add('maxPrice', 'text',array('mapped' => false, 'label' => 'Pina la :' , 'attr'=>
array(
'placeholder'=>'Max price',
'class'=>'form-control')))
->getForm();
$form->handleRequest($request);
$var = $form->get('minimPrice')->getData();
print_r($var);
//Search products
$aProducts = $repositoryProduct->getProductsOrderByDateDesc($id,null,$aFilter);
if (!$aProducts) {
throw $this->createNotFoundException('Products not found.');
}
$category = $em->getRepository('ShopDesktopBundle:Category')->findOneById($id);
if (!$category) {
throw $this->createNotFoundException('Category not found.');
}
//Create pagination
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$aProducts,
$page,
3
);
//Send data to view
return $this->render('ShopDesktopBundle:Category:category.html.twig',array(
'category' => $category,
'pagination' => $pagination,
'form' => $form->createView()
));
}
Mon point de vue:
<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>
Je recherche et normalement tout est ok, mais ma variable $ var est nul. Je ne comprends pas où est mon problème, probablement je manque quelque chose. C'est une bonne idée de créer des formulaires qui ne sont pas mappés dans le contrôleur. Aidez-moi, s'il vous plaît. Thx à l'avance
Je suppose que la méthode devrait être post pas obtenir dans le fichier twig –
J'ai essayé, ne fonctionne pas – TanGio
La méthode devrait être post dans votre formulaire même si cela ne fonctionne pas que le premier problème, fait $ formData = $ form-> getData(); retourner quelque chose? le $ request-> request-> all() renvoie-t-il quelque chose? –