Bonjour à tous,
J'ai une entité produit et une entité catégorie. Les deux sont liées par une relation manyToMany donc une table produits_categories a été créée. Jusque ici tout va bien.
Maintenant, j'ai un menu contenant mes catégories et des sections. Section est un champ de l'entité catégorie => il catégorise les catégories ( ex : 3 sections : "accessories, print, collection", print contient les catégories "wtf, bigdeal, high".. ). Quand je clique sur un des onglets mon url se met à jour sous cette forme : "products/section/categorie". Ceci marche.
Je veux avoir une seule action dans mon controller qui me permet de trier les produits à afficher en fonction de la catégorie sur laquelle j'ai cliqué.
Pour l'instant mon action ressemble à
Est-ce que quelqu'un pourrait m'aider ? J'ai vu pas mal de topic parler de queryBuilder, est-ce que je suis obligé de passer par là ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 /** * @Route("/{section}/{slug}", name="categorie") * @param $section * @param $slug * @param $id * @return Response */ public function categorieAction($section, $slug, $id) { $em = $this->getDoctrine()->getManager(); $section = $em->getRepository("AppBundle:Categorie")->findBySection($section); $categorie = $em->getRepository("AppBundle:Categorie")->findBySlug($slug); $product = $em->getRepository("AppBundle:Product")->findByCategories($id); return $this->render('default/products/products.html.twig', array('categorie' => $categorie, 'section' => $section, 'product' => $product)); } }
Merci,
Max
Partager