src/Controller/StorefrontController.php line 27

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. }