<?php
declare(strict_types=1);
namespace App\Controller\Front\Boutique;
use App\Entity\Boutique\Produit\Produit;
use App\Repository\Boutique\Produit\ProduitCategorieRepository;
use App\Repository\Boutique\Produit\ProduitRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ProduitController extends AbstractController
{
#[Route('/shop', name: 'app_front_produit_index', methods: ['GET'])]
public function index(ProduitCategorieRepository $produitCategorieRepository, ProduitRepository $produitRepository): Response
{
$produitCategories = $produitCategorieRepository->findAll();
$produits = $produitRepository->findAll();
return $this->render('front/boutique/produit/index.html.twig', [
'produit_categories' => $produitCategories,
'produits' => $produits,
]);
}
#[Route('/shop/{name}', name: 'app_front_produit_detail', methods: ['GET'])]
public function detail(Produit $produit): Response
{
if (
!$produit->isVisible()
&& !$this->isGranted('ROLE_ADMIN')
) {
throw $this->createNotFoundException('The product does not exist.');
}
return $this->render('front/boutique/produit/detail.html.twig', [
'produit' => $produit,
]);
}
}