src/Controller/NewsController.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use App\Repository\NewsRepository;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Knp\Component\Pager\PaginatorInterface;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use App\Repository\ImagebackgroundRepository;
  11. class NewsController extends AbstractController
  12. {
  13.     /**
  14.      * @var NewsRepository
  15.      */
  16.     private $repository;
  17.     /**
  18.      * @var EntityManagerInterface
  19.      */
  20.     private $em;
  21.     /**
  22.      * @var ImagebackgroundRepository
  23.      */
  24.     private $i_repository;
  25.     public function __construct(NewsRepository $repositoryEntityManagerInterface $emImagebackgroundRepository $i_repository)
  26.     {
  27.         $this->repository $repository;
  28.         $this->em $em;
  29.         $this->i_repository $i_repository;
  30.     }
  31.     /**
  32.      * @Route("/news", name="news")
  33.      * @return Response
  34.      */
  35.     public function news(PaginatorInterface $paginatorRequest $request): Response
  36.     {
  37.         $image $this->i_repository->find(1);
  38.         $news $paginator->paginate(
  39.             $this->repository->findNews(),
  40.             $request->query->getInt('page'1),
  41.             6
  42.         );
  43.         return $this->render(
  44.             'pages/news.html.twig',
  45.             [
  46.                 'current_menu' => 'news',
  47.                 'news' => $news,
  48.                 'img' => $image
  49.             ]
  50.         );
  51.     }
  52.     /**
  53.      * @Route("/news/single/{id}", name="news.single")
  54.      * @return Response
  55.      */
  56.     public function singlenew($id): Response
  57.     {
  58.         $image $this->i_repository->find(1);
  59.         $news $this->repository->find($id);
  60.         return $this->render('pages/single/news_single.html.twig', [
  61.             'news' => $news,
  62.             'img' => $image
  63.         ]);
  64.     }
  65. }