src/Controller/AccessoryController.php line 65

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Accessory;
  4. use App\Repository\AccessoryRepository;
  5. use App\Repository\ParamsRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Knp\Component\Pager\PaginatorInterface;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  12. class AccessoryController extends AbstractController
  13. {
  14.     /**
  15.      * @var ParamRepository
  16.      */
  17.     private $paramsRepository;
  18.     /**
  19.      * @var array
  20.      */
  21.     private $cart;
  22.     public function __construct(SessionInterface $sessionParamsRepository $paramsRepository)
  23.     {
  24.         
  25.         $this->paramsRepository $paramsRepository;
  26.         
  27.         $this->cart $session->get('cart', [
  28.             'items' => [],
  29.             'qty' => 0,
  30.             'total' => 0
  31.         ]);
  32.     }
  33.     #[Route('/accessoires-dj'name'dj_accessories')]
  34.     public function index(AccessoryRepository $accessoryRepositoryPaginatorInterface $paginatorRequest $request): Response
  35.     {
  36.         $current 'accessories';
  37.         $query $accessoryRepository->findAllOrdered(["updatedAt" => "DESC"]);
  38.         $accessories $paginator->paginate($query$request->query->getInt('page'1),40);
  39.         /** Tri */
  40.         $sortType $request->query->get('sort''created_at');
  41.         $direction $request->query->get('direction''desc');
  42.         if(!$request->query->get('sort')) {
  43.         }
  44.         $sort $sortType '-' $direction;
  45.         return $this->render('accessory/index.html.twig', [
  46.             'current' => $current,
  47.             'params' => $this->paramsRepository->findAll(),
  48.             'page' => $request->query->getInt('page'1),
  49.             'accessories' => $accessories,
  50.             'sort' => $sort,
  51.             'title' => 'Accessoires'
  52.         ]);
  53.     }
  54.     #[Route('/accessoires-dj/{slug}'name'dj_accessory')]
  55.     public function show(Accessory $accessory): Response
  56.     {
  57.         
  58.         return $this->render('accessory/show.html.twig', [
  59.             'current' => 'accessories',
  60.             'params' => $this->paramsRepository->findAll(),
  61.             'accessory' => $accessory,
  62.         ]);
  63.     }
  64. }