<?php
namespace App\Controller;
use App\Entity\Accessory;
use App\Repository\AccessoryRepository;
use App\Repository\ParamsRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
class AccessoryController extends AbstractController
{
/**
* @var ParamRepository
*/
private $paramsRepository;
/**
* @var array
*/
private $cart;
public function __construct(SessionInterface $session, ParamsRepository $paramsRepository)
{
$this->paramsRepository = $paramsRepository;
$this->cart = $session->get('cart', [
'items' => [],
'qty' => 0,
'total' => 0
]);
}
#[Route('/accessoires-dj', name: 'dj_accessories')]
public function index(AccessoryRepository $accessoryRepository, PaginatorInterface $paginator, Request $request): Response
{
$current = 'accessories';
$query = $accessoryRepository->findAllOrdered(["updatedAt" => "DESC"]);
$accessories = $paginator->paginate($query, $request->query->getInt('page', 1),40);
/** Tri */
$sortType = $request->query->get('sort', 'created_at');
$direction = $request->query->get('direction', 'desc');
if(!$request->query->get('sort')) {
}
$sort = $sortType . '-' . $direction;
return $this->render('accessory/index.html.twig', [
'current' => $current,
'params' => $this->paramsRepository->findAll(),
'page' => $request->query->getInt('page', 1),
'accessories' => $accessories,
'sort' => $sort,
'title' => 'Accessoires'
]);
}
#[Route('/accessoires-dj/{slug}', name: 'dj_accessory')]
public function show(Accessory $accessory): Response
{
return $this->render('accessory/show.html.twig', [
'current' => 'accessories',
'params' => $this->paramsRepository->findAll(),
'accessory' => $accessory,
]);
}
}