src/Controller/StorefrontController.php line 73

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Category;
  4. use App\Service\SoapService;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. class StorefrontController extends AbstractController {
  10.     /** @var EntityManagerInterface */
  11.     protected $entityManager;
  12.     public function __construct(EntityManagerInterface $entityManager) {
  13.         $this->entityManager $entityManager;
  14.     }
  15.     /**
  16.      * @Route(
  17.      *     "/",
  18.      *     name="index"
  19.      * )
  20.      */
  21.     public function indexAction(): Response {
  22.         return $this->render('page/index.html.twig');
  23.     }
  24.     /**
  25.      * @Route(
  26.      *     "/der-ablauf",
  27.      *     name="flow"
  28.      * )
  29.      */
  30.     public function flowAction(): Response {
  31.         return $this->render('page/flow.html.twig');
  32.     }
  33.     /**
  34.      * @Route(
  35.      *     "/kategorien",
  36.      *     name="categories"
  37.      * )
  38.      */
  39.     public function categoriesAction(): Response {
  40.         return $this->render('page/category/list.html.twig');
  41.     }
  42.     /**
  43.      * @Route(
  44.      *     "/produkte/{categoryId}",
  45.      *     name="products"
  46.      * )
  47.      */
  48.     public function productsAction(int $categoryId null): Response {
  49.         $category null;
  50.         if ($categoryId) {
  51.             $category $this->entityManager->getRepository(Category::class)->find($categoryId);
  52.         }
  53.         return $this->render('page/product/list.html.twig', [
  54.             'category' => $category,
  55.         ]);
  56.     }
  57.     /**
  58.      * @Route(
  59.      *     "/faq",
  60.      *     name="faq"
  61.      * )
  62.      */
  63.     public function faqAction(): Response {
  64.         return $this->render('page/faq.html.twig');
  65.     }
  66.     /**
  67.      * @Route(
  68.      *     "/impressum",
  69.      *     name="imprint"
  70.      * )
  71.      */
  72.     public function imprintAction(): Response {
  73.         return $this->render('page/imprint.html.twig');
  74.     }
  75.     /**
  76.      * @Route(
  77.      *     "/datenschutz",
  78.      *     name="privacy"
  79.      * )
  80.      */
  81.     public function privacyAction(): Response {
  82.         return $this->render('page/privacy.html.twig');
  83.     }
  84.     /**
  85.      * @Route(
  86.      *     "/get-version",
  87.      *     name="version"
  88.      * )
  89.      */
  90.     public function getVersion(SoapService $soapService): Response {
  91.         $version $soapService->getVersion();
  92.         return $this->render('soap/get_version.html.twig', [
  93.             'version' => $version,
  94.         ]);
  95.     }
  96. }