assets
bin
config
migrations
public
src
Controller
Admin
.gitignore
BaseController.php
FrontendController.php
PagesController.php
ProjectsController.php
ResetPasswordController.php
SecurityController.php
UserController.php
Entity
Form
Repository
Security
Kernel.php
templates
tools
translations
.env
.eslintrc
.gitignore
.php-cs-fixer.cache
.php-cs-fixer.php
LICENSE
README.md
TODO
bootstrap.js
composer.json
composer.lock
controllers.json
docker-compose.override.yml
docker-compose.yml
package.json
rector.php
symfony.lock
webpack.config.js
yarn.lock
43 lines
1.2 KiB
PHP
43 lines
1.2 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
|
|
{
|
|
#[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: '@default/pages/display.html.twig', parameters: [
|
|
'page' => $page,
|
|
]);
|
|
}
|
|
|
|
#[Route(path: '/imprint', name: 'app_imprint')]
|
|
public function imprint(): Response
|
|
{
|
|
return $this->render(view: '@default/pages/imprint.html.twig');
|
|
}
|
|
|
|
#[Route(path: '/privacy', name: 'app_privacy')]
|
|
public function privacy(): Response
|
|
{
|
|
return $this->render(view: '@default/pages/privacy.html.twig');
|
|
}
|
|
}
|