src/Controller/Site/LivreController.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Site;
  3. use App\Entity\Chronique;
  4. use App\Entity\Genre;
  5. use App\Entity\Livre;
  6. use App\Entity\Page;
  7. use App\Repository\ChroniqueRepository;
  8. use App\Repository\FrontPageRepository;
  9. use App\Repository\GenreRepository;
  10. use App\Repository\LivreRepository;
  11. use App\Repository\PageRepository;
  12. use Knp\Component\Pager\Paginator;
  13. use Knp\Component\Pager\PaginatorInterface;
  14. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController as Controller;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Component\Routing\Annotation\Route;
  17. class LivreController extends Controller
  18. {
  19.     /**
  20.      * @Route("/livre/{slug}", name="page_livre", priority=2)
  21.      */
  22.     public function index(Livre $livrePageRepository $pRepoFrontPageRepository $frontPageRepository)
  23.     {
  24.         $front_page=$frontPageRepository->findOneByCodeWithModule'chronique');
  25.         $chro=$livre->getChroniques()[0];
  26.         $addedParams=[];
  27.         $addedParams['contact']=$chro->getContact()->getId();
  28.         foreach($front_page->getBlocks() as $module){
  29.             $module->setAdditionnalParameters($addedParams);
  30.         }
  31.         return $this->render('site/fpages.html.twig', [
  32.             'front_page'    => $front_page,
  33.             'livre'         => $livre,
  34.             'chronique'     => $chro,
  35.             'addParams'     => $addedParams,
  36.         ]);
  37.     }
  38.     /**
  39.      * @param Chronique $chronique
  40.      * @param FrontPageRepository $frontPageRepository
  41.      * @return \Symfony\Component\HttpFoundation\Response
  42.      * @Route("/chronique/{chronique}", name="fp_chronique")
  43.      */
  44.     public function chronique(Chronique $chroniqueFrontPageRepository $frontPageRepository){
  45.         $front_page=$frontPageRepository->findOneBy(['Code' => 'chronique']);
  46.         return $this->render('site/fpages.html.twig',[
  47.             'front_page'    => $front_page,
  48.             'chronique'     => $chronique
  49.         ]);
  50.     }
  51.     /**
  52.      * @param LivreRepository $lRepo
  53.      * @param Request $request
  54.      * @return \Symfony\Component\HttpFoundation\Response
  55.      * @Route("/les-livres-par-les-libraires/poche", name="page_poche", priority=2)
  56.      */
  57.     public function listPoche(LivreRepository $lRepoGenreRepository $gRepoFrontPageRepository $frontPageRepositoryRequest $requestPaginatorInterface $paginator){
  58.         $front_page=$frontPageRepository->findOneBy(["Code" => "poche"]);
  59.         $pagination=$paginator->paginate(
  60.             $lRepo->findLivrePocheForFront(),
  61.             $request->query->getInt('page'1),
  62.             36
  63.         );
  64.         return $this->render('site/fpages.html.twig', [
  65.             'front_page' => $front_page,
  66.             'livres' => $pagination
  67.         ]);
  68.     }
  69.     /**
  70.      * @param Page $page
  71.      * @param LivreRepository $lRepo
  72.      * @param Request $request
  73.      * @return \Symfony\Component\HttpFoundation\Response
  74.      * @Route("/les-livres-par-les-libraires/{slug}", name="page_genre", priority=2)
  75.      */
  76.     public function listbyGenre($slugLivreRepository $lRepoGenreRepository $gRepoFrontPageRepository $frontPageRepositoryRequest $requestPaginatorInterface $paginator){
  77.         $front_page=$frontPageRepository->findOneBy(["Code"=> "genre"]);
  78.         $genre=$gRepo->findOneBy(["slug" => $slug]);
  79.         $pagination=$paginator->paginate(
  80.             $lRepo->findLivreByGenreForFront($genre),
  81.             $request->query->getInt('page'1),
  82.             16
  83.         );
  84.         return $this->render('site/fpages.html.twig', [
  85.             'front_page' => $front_page,
  86.             'livres' => $pagination,
  87.             'genre' => $genre
  88.         ]);
  89.     }
  90. }