Files
Spookie/src/Controller/PagesController.php
2022-10-28 18:48:25 +02:00

51 lines
1.5 KiB
PHP

<?php
namespace App\Controller;
use App\Entity\Pages;
use App\Repository\PagesRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class PagesController extends AbstractController
{
const TEMPLATE_DIR = 'themes/default/';
#[Route(path: '/pages/{name}', name: 'pages_display')]
public function display(PagesRepository $pagesRepository, string $name): Response
{
$page = $pagesRepository->findOneBy([
'slug' => $name,
]);
if (!$page) {
$page = new Pages();
$page->setName(name: 'Not Found');
$page->setContent(content: 'The requested page was not found.');
}
return $this->render(view: 'pages/display.html.twig', parameters: [
'page' => $page,
]);
}
#[Route(path: '/imprint', name: 'app_imprint')]
public function imprint(): Response
{
return $this->render(view: self::TEMPLATE_DIR . 'pages/imprint.html.twig', parameters: [
'template_dir' => self::TEMPLATE_DIR,
'controller_name' => 'PagesController',
]);
}
#[Route(path: '/privacy', name: 'app_privacy')]
public function privacy(): Response
{
return $this->render(view: self::TEMPLATE_DIR . 'pages/privacy.html.twig', parameters: [
'template_dir' => self::TEMPLATE_DIR,
'controller_name' => 'PagesController',
]);
}
}