src/Controller/Front/PageController.php line 30

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller\Front;
  4. use App\Entity\PostType\Page\Page;
  5. use App\Entity\PostType\PostType;
  6. use App\Repository\Boutique\Evenement\EvenementRepository;
  7. use App\Repository\Boutique\Produit\ProduitRepository;
  8. use App\Repository\PostTypeRepository;
  9. use App\Repository\User\CoachRepository;
  10. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. class PageController extends AbstractController
  14. {
  15.     #[Route('/'name'app_front_page_index'methods: ['GET'])]
  16.     public function index(
  17.         PostTypeRepository $postTypeRepository
  18.     ): Response {
  19.         return $this->render('front/index.html.twig', [
  20.             'page' => $postTypeRepository->find(PostType::INDEX),
  21.             'controller_name' => 'PageController',
  22.         ]);
  23.     }
  24.     #[Route('/old-accueil'name'app_front_page_old_index'methods: ['GET'])]
  25.     public function oldIndex(
  26.         ProduitRepository $produitRepository,
  27.         CoachRepository $coachRepository,
  28.         EvenementRepository $evenementRepository
  29.     ): Response {
  30.         return $this->render('front/old_index.html.twig', [
  31.             'evenement' => $evenementRepository->findBy([], limit1),
  32.             'produits' => $produitRepository->findBy([], limit2),
  33.             'coaches' => $coachRepository->findBy([], limit2),
  34.         ]);
  35.     }
  36.     #[Route('/page/{name}'name'app_front_page_detail'methods: ['GET'])]
  37.     public function page(Page $page): Response
  38.     {
  39.         if (
  40.             PostType::STATUS_PUBLISHED !== $page->getStatus()
  41.             && !$this->isGranted('ROLE_ADMIN')
  42.         ) {
  43.             throw $this->createNotFoundException('The page does not exist.');
  44.         }
  45.         return $this->render('front/page.html.twig', [
  46.             'page' => $page,
  47.         ]);
  48.     }
  49. }