<?php
namespace App\Controller;
use App\Entity\Services;
use App\Repository\SectionTitleRepository;
use App\Repository\ServicesRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ServicesController extends AbstractController
{
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
/**
* @Route({
* "fr": "/fr/services/autres-services/",
* "en": "/en/services/others-services/"
* }, name="app_services")
*/
public function index(ServicesRepository $servicesRepository, SectionTitleRepository $titleRepository): Response
{
$title = $titleRepository->findTitleByTag('services_other');
$service = $servicesRepository->findServicesByTag('services_others_index');
return $this->render('services/index.html.twig', [
'srvtitle' => $title,
'servicesother' => $service,
]);
}
/**
* @Route("/{_locale<%app.supported_locales%>}/services/{slug}", name="app_services_show")
*/
public function show($slug)
{
$service = $this->entityManager->getRepository(Services::class)->findOneBySlug($slug);
$translation = $this->entityManager->getRepository(Services::class)->findServicesByTag('traduction_content');
if (!$service) {
return $this->redirectToRoute('app_services');
}
return $this->render('services/show.html.twig', [
'services' => $service,
'translations' => $translation
]);
}
/**
* @Route({
* "fr": "/fr/services/traductions/{slug}",
* "en": "/en/services/translations/{slug}"
* }, name="app_services_translations")
*/
public function translation(ServicesRepository $servicesRepository, $slug)
{
$service = $servicesRepository->findOneBySlug($slug);
if (!$service) {
return $this->redirectToRoute('app_services');
}
return $this->render('services/_translation-show.html.twig', [
'translations' => $service,
]);
}
/**
* @Route({
* "fr": "/fr/services/autres-services/",
* "en": "/en/services/others-services/"
* }, name="app_services_special")
*/
public function specialSrc(ServicesRepository $servicesRepository, $slug) : Response
{
// $service = $servicesRepository->findOneBySlug($slug);
// if (!$service) {
// return $this->redirectToRoute('app_services');
// }
return $this->render('services/index.html.twig', [
// 'translations' => $service,
]);
}
}