<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Repository\NewsRepository;
use Doctrine\ORM\EntityManagerInterface;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Component\HttpFoundation\Request;
use App\Repository\ImagebackgroundRepository;
class NewsController extends AbstractController
{
/**
* @var NewsRepository
*/
private $repository;
/**
* @var EntityManagerInterface
*/
private $em;
/**
* @var ImagebackgroundRepository
*/
private $i_repository;
public function __construct(NewsRepository $repository, EntityManagerInterface $em, ImagebackgroundRepository $i_repository)
{
$this->repository = $repository;
$this->em = $em;
$this->i_repository = $i_repository;
}
/**
* @Route("/news", name="news")
* @return Response
*/
public function news(PaginatorInterface $paginator, Request $request): Response
{
$image = $this->i_repository->find(1);
$news = $paginator->paginate(
$this->repository->findNews(),
$request->query->getInt('page', 1),
6
);
return $this->render(
'pages/news.html.twig',
[
'current_menu' => 'news',
'news' => $news,
'img' => $image
]
);
}
/**
* @Route("/news/single/{id}", name="news.single")
* @return Response
*/
public function singlenew($id): Response
{
$image = $this->i_repository->find(1);
$news = $this->repository->find($id);
return $this->render('pages/single/news_single.html.twig', [
'news' => $news,
'img' => $image
]);
}
}