src/Front/Controller/NewsController.php line 29
<?php
namespace App\Front\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use App\Entity\Page;
use App\Util\LanguageUtil;
use App\Repository\NewsRepository;
use App\Front\Util\LangChanger;
class NewsController extends AbstractController
{
public function index(
RequestStack $requestStack,
Request $request,
Page $page
): Response {
$requestStack->push($request);
return $this->render('@front_templates/News/index.html.twig', [
'page' => $page,
]);
}
public function detail(
RequestStack $requestStack,
Request $request,
Page $page,
NewsRepository $repository,
LangChanger $langChanger,
string $slug
): Response {
$requestStack->push($request);
$lang = LanguageUtil::getLanguage($request->getLocale());
$entity = $repository->findOneVisibleBySlug($slug, $lang);
if (! $entity) {
throw new NotFoundHttpException('News not found.');
}
$langChanger->setSub($entity);
return $this->render('@front_templates/News/detail.html.twig', [
'page' => $page,
'entity' => $entity
]);
}
}