src/Controller/Pages/HomeController.php line 65

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Pages;
  3. use App\Controller\Utils\ContentController;
  4. use App\Entity\Product;
  5. use phpDocumentor\Reflection\Types\Mixed_;
  6. use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  7. use Symfony\Component\HttpFoundation\RedirectResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class HomeController extends ContentController
  12. {
  13.     public const HOME_BREADCRUMB = ['route' => 'pages_home_index''name' => 'Home'];
  14.     public function __construct(EventDispatcherInterface $dispatcher)
  15.     {
  16.         parent::__construct($dispatcherself::class);
  17.     }
  18.     /**
  19.      * @Route("/", name="pages_home_index")
  20.      * @param Request $request
  21.      * @return RedirectResponse|Response
  22.      */
  23.     public function index(Request $request): Response
  24.     {
  25.         if ($request->get('product')) {
  26.             $product $this->getDoctrine()->getRepository(Product::class)->findOneBy(['slug' => $request->get('product')]);
  27.             if ($product) {
  28.                 return $this->redirectToRoute('pages_product_details', [
  29.                     'collectionSlug' => $product->getCollection()->getSlug(),
  30.                     'slug' => $product->getSlug(),
  31.                     'id' => $product->getId()
  32.                 ], 301);
  33.             }
  34.         }
  35.         return $this->render('pages/home/base.html.twig', [
  36.             'controller_name' => 'HomeController',
  37.         ], null$request);
  38.     }
  39.     /**
  40.      * @Route("/ja", name="pages_japn")
  41.      * @param Request $request
  42.      * @return RedirectResponse|Response
  43.      */
  44.     public function ja(Request $request): Response
  45.     {
  46.         return $this->redirectToRoute('pages_home_index');
  47.     }
  48.     /**
  49.      * @Route({
  50.      *     "ja": "/documents",
  51.      *     "ja": "ja/documents",
  52.      *     "en": "/documents"
  53.      * }, name="documents")
  54.      * @param Request $request
  55.      * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
  56.      */
  57.     public function documents(Request $request): Response
  58.     {
  59.         return $this->redirectToRoute('pages_home_index');
  60.     }
  61.     /**
  62.      * @Route({
  63.      *     "ja": "/installation-maintenance",
  64.      *     "en": "/installation-maintenance",
  65.      *     "ja": "ja/installation-maintenance"
  66.      * }, name="installation_maintenance")
  67.      * @param Request $request
  68.      * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
  69.      */
  70.     public function installation_maintenance(Request $request): Response
  71.     {
  72.         return $this->redirectToRoute('pages_aboutOurFloors_detail', ['sectionSlug' => 'cleanability']);
  73.     }
  74. }