src/Controller/Front/GalleryController.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use App\Repository\MediaRepository;
  8. use Knp\Component\Pager\PaginatorInterface;
  9. use App\Repository\Banner\BannerRepository;
  10. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  11. class GalleryController extends AbstractController
  12. {
  13.     /** @var BannerRepository $bannerRepository */
  14.     private $bannerRepository;
  15.     /** @var string $theme */
  16.     private $theme;
  17.     /**
  18.      * @param BannerRepository $bannerRepository
  19.      * @param Session $session
  20.      */
  21.     public function __construct(BannerRepository $bannerRepositorySessionInterface $session)
  22.     {
  23.         $this->bannerRepository $bannerRepository;
  24.         $this->theme $session->get('theme''horse');
  25.     }
  26.     public function index(Request $requestMediaRepository $mediaRepositoryPaginatorInterface $paginator): Response
  27.     {
  28.         $page $request->query->getInt('page'1);
  29.         $banner $this->bannerRepository->findOneBy(['type' => $this->theme]);
  30.         $medias $paginator->paginate($mediaRepository->findMedias(), $page6);
  31.         return $this->render('front/gallery/index.html.twig'compact('medias''banner''page'));
  32.     }
  33.     public function load(Request $requestMediaRepository $mediaRepositoryPaginatorInterface $paginator): Response
  34.     {
  35.         $medias = [];
  36.         $page $request->query->getInt('page'1);
  37.         if (!== $page) {
  38.             $medias $paginator->paginate($mediaRepository->findMedias(), $page6);
  39.         }
  40.         return $this->render('front/gallery/load.html.twig'compact('medias''page'));
  41.     }
  42.     public function homePortfolio(Request $requestMediaRepository $mediaRepositoryPaginatorInterface $paginator): Response
  43.     {
  44.         $medias $paginator->paginate($mediaRepository->findMedias(), 13);
  45.         return $this->render('front/includes/portfolio.html.twig'compact('medias'));
  46.     }
  47. }