<?php
namespace App\Controller\Pages;
use App\Controller\Utils\ContentController;
use App\Entity\Product;
use phpDocumentor\Reflection\Types\Mixed_;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HomeController extends ContentController
{
public const HOME_BREADCRUMB = ['route' => 'pages_home_index', 'name' => 'Home'];
public function __construct(EventDispatcherInterface $dispatcher)
{
parent::__construct($dispatcher, self::class);
}
/**
* @Route("/", name="pages_home_index")
* @param Request $request
* @return RedirectResponse|Response
*/
public function index(Request $request): Response
{
if ($request->get('product')) {
$product = $this->getDoctrine()->getRepository(Product::class)->findOneBy(['slug' => $request->get('product')]);
if ($product) {
return $this->redirectToRoute('pages_product_details', [
'collectionSlug' => $product->getCollection()->getSlug(),
'slug' => $product->getSlug(),
'id' => $product->getId()
], 301);
}
}
return $this->render('pages/home/base.html.twig', [
'controller_name' => 'HomeController',
], null, $request);
}
/**
* @Route("/ja", name="pages_japn")
* @param Request $request
* @return RedirectResponse|Response
*/
public function ja(Request $request): Response
{
return $this->redirectToRoute('pages_home_index');
}
/**
* @Route({
* "ja": "/documents",
* "ja": "ja/documents",
* "en": "/documents"
* }, name="documents")
* @param Request $request
* @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
*/
public function documents(Request $request): Response
{
return $this->redirectToRoute('pages_home_index');
}
/**
* @Route({
* "ja": "/installation-maintenance",
* "en": "/installation-maintenance",
* "ja": "ja/installation-maintenance"
* }, name="installation_maintenance")
* @param Request $request
* @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
*/
public function installation_maintenance(Request $request): Response
{
return $this->redirectToRoute('pages_aboutOurFloors_detail', ['sectionSlug' => 'cleanability']);
}
}