src/Controller/Shop/ShopController.php line 59

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Shop;
  3. use App\Entity\SearchProduct;
  4. use App\Form\SearchProductType;
  5. use App\Repository\ProductRepository;
  6. use App\Repository\TagRepository;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class ShopController extends AbstractController
  12. {
  13.     /**
  14.      * Permet de faire le filtre des produits selon les critères donnés
  15.      *
  16.      * @Route("/shop/", name="shop")
  17.      * @param ProductRepository $productRepository
  18.      * @param TagRepository $tagRepository
  19.      * @param Request $request
  20.      * @return Response
  21.      */
  22.     public function shop(ProductRepository $productRepositoryTagRepository $tagRepositoryRequest $request):Response{
  23.         $products $productRepository->findAll();
  24.         $search = new SearchProduct();
  25.         $form $this->createForm(SearchProductType::class,$search);
  26.         $form->handleRequest($request);
  27.         if($form->isSubmitted() && $form->isValid()){
  28.             $products $productRepository->findWithSearch($search);
  29.         }
  30.         return $this->render('home/shop/shop.html.twig',[
  31.             'products' => $products,
  32.             'search' => $form->createView(),
  33.             'search_header' => $form->createView(),
  34.             'tags' => $tagRepository->findAll()
  35.         ]);
  36.     }
  37.      /**
  38.      * Permet de faire le filtre des produits selon les critères donnés search Header
  39.      *
  40.      * @Route("/header/serach/product/", name="shop_header_product_search")
  41.      * @return Response
  42.      */
  43.     public function shop_header_searc():Response{
  44.         $search = new SearchProduct();
  45.         $form $this->createForm(SearchProductType::class,$search);
  46.         return $this->render('partials/header_search.html.twig',[
  47.             'search_header' => $form->createView(),
  48.             'search_flag' => true
  49.         ]);
  50.     }
  51. }