mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 17:29:04 +00:00 
			
		
		
		
	Optimized Imprint function
This commit is contained in:
		| @@ -35,6 +35,18 @@ abstract class AbstractEntityController extends FOSRestController | ||||
|         return $entity; | ||||
|     } | ||||
|  | ||||
|     protected function loadEntityBySlug(string $slug): EntityInterface | ||||
|     { | ||||
|         $entity = $this->getDoctrine() | ||||
|         ->getRepository($this->entityName) | ||||
|         ->findOneBy(['slug' => $slug]); | ||||
|         if (!$entity) { | ||||
|             throw $this->createNotFoundException('No entity found for slug '.$slug); | ||||
|         } | ||||
|  | ||||
|         return $entity; | ||||
|     } | ||||
|  | ||||
|     protected function redirectToRouteById(string $route, int $id): RedirectResponse | ||||
|     { | ||||
|         return $this->redirectToRoute($route, [ | ||||
|   | ||||
| @@ -2,21 +2,28 @@ | ||||
|  | ||||
| namespace App\Controller; | ||||
|  | ||||
| use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
| use Symfony\Component\Routing\Annotation\Route; | ||||
| use Symfony\Component\HttpFoundation\Response; | ||||
| use App\DBAL\Types\SystemSlugType; | ||||
| use App\Entity\Source\AbstractSource; | ||||
|  | ||||
| /** | ||||
|  * @author kevinfrantz | ||||
|  */ | ||||
| class DefaultController extends AbstractController | ||||
| class DefaultController extends AbstractEntityController | ||||
| { | ||||
|     /** | ||||
|      * @todo Optimize function! | ||||
|      * @Route("/imprint", name="imprint") | ||||
|      */ | ||||
|     public function imprint(): Response | ||||
|     { | ||||
|         return $this->render('standard/imprint.html.twig'); | ||||
|         $source = $this->loadEntityBySlug(SystemSlugType::IMPRINT); | ||||
|         $view = $this->view($source, 200) | ||||
|         ->setTemplate('standard/imprint.html.twig') | ||||
|         ->setTemplateVar('source'); | ||||
|  | ||||
|         return $this->handleView($view); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -26,4 +33,9 @@ class DefaultController extends AbstractController | ||||
|     { | ||||
|         return $this->render('standard/homepage.html.twig'); | ||||
|     } | ||||
|  | ||||
|     protected function setEntityName(): void | ||||
|     { | ||||
|         $this->entityName = AbstractSource::class; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -8,5 +8,5 @@ Homepage | ||||
| Imprint | ||||
| {% endtrans %} | ||||
| </h2> | ||||
| Developed by kevinfrantz | ||||
| {{ source.text }} | ||||
| {% endblock %} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user