src/Controller/ServicesController.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Services;
  4. use App\Repository\SectionTitleRepository;
  5. use App\Repository\ServicesRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class ServicesController extends AbstractController
  11. {
  12.     private $entityManager;
  13.     public function __construct(EntityManagerInterface $entityManager)
  14.     {
  15.         $this->entityManager = $entityManager;
  16.     }
  17.     /**
  18.      * @Route({
  19.      *     "fr": "/fr/services/autres-services/",
  20.      *     "en": "/en/services/others-services/"
  21.      * }, name="app_services")
  22.      */
  23.     public function index(ServicesRepository $servicesRepository, SectionTitleRepository $titleRepository): Response
  24.     {
  25.         $title = $titleRepository->findTitleByTag('services_other');
  26.         $service = $servicesRepository->findServicesByTag('services_others_index');
  27.         return $this->render('services/index.html.twig', [
  28.             'srvtitle' => $title,
  29.             'servicesother' => $service,
  30.         ]);
  31.     }
  32.     /**
  33.      * @Route("/{_locale<%app.supported_locales%>}/services/{slug}", name="app_services_show")
  34.      */
  35.     public function show($slug)
  36.     {
  37.         $service = $this->entityManager->getRepository(Services::class)->findOneBySlug($slug);
  38.         $translation = $this->entityManager->getRepository(Services::class)->findServicesByTag('traduction_content');
  39.         if (!$service) {
  40.             return $this->redirectToRoute('app_services');
  41.         }
  42.         return $this->render('services/show.html.twig', [
  43.             'services' => $service,
  44.             'translations' => $translation
  45.         ]);
  46.     }
  47.     /**
  48.      * @Route({
  49.      *     "fr": "/fr/services/traductions/{slug}",
  50.      *     "en": "/en/services/translations/{slug}"
  51.      * }, name="app_services_translations")
  52.      */
  53.     public function translation(ServicesRepository $servicesRepository, $slug)
  54.     {
  55.         $service = $servicesRepository->findOneBySlug($slug);
  56.         if (!$service) {
  57.             return $this->redirectToRoute('app_services');
  58.         }
  59.         return $this->render('services/_translation-show.html.twig', [
  60.             'translations' => $service,
  61.         ]);
  62.     }
  63.     /**
  64.      * @Route({
  65.      *     "fr": "/fr/services/autres-services/",
  66.      *     "en": "/en/services/others-services/"
  67.      * }, name="app_services_special")
  68.      */
  69.     public function specialSrc(ServicesRepository $servicesRepository, $slug) : Response
  70.     {
  71. //        $service = $servicesRepository->findOneBySlug($slug);
  72. //        if (!$service) {
  73. //            return $this->redirectToRoute('app_services');
  74. //        }
  75.         return $this->render('services/index.html.twig', [
  76. //            'translations' => $service,
  77.         ]);
  78.     }
  79. }