src/Controller/Front/SeoController.php line 23
<?phpdeclare(strict_types=1);namespace App\Controller\Front;use App\Entity\Seo\SeoParent;use App\Repository\ActualiteRepository;use App\Repository\AgendaRepository;use App\Repository\FormationRepository;use App\Repository\OffreEmploiRepository;use App\Repository\PageRepository;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\Routing\Generator\UrlGeneratorInterface;use Symfony\Component\Routing\RouterInterface;class SeoController extends AbstractController{#[Route('/admin/global/seo/page/{id}', name: 'app_global_seo_page')]public function page(PageRepository $pageRepository,RouterInterface $router,int $id,): Response {$page = $pageRepository->find($id);$slug = $page ? $page->getSlug() : null;$seoPage = $slug ? $pageRepository->pageSeo($id) : null;if (!\count($seoPage)) {return new Response();}// if (isset($seoPage[0]['url_canonical'])) {// $seoPage[0]['url_canonical'] = $router->generate(// 'page_front_slug',// ['Url personnalisée' => $slug],// UrlGeneratorInterface::ABSOLUTE_URL// );// }// robot_indexif (!isset($seoPage[0]['robot_index'])) {$seoPage[0]['robot_index'] = 0;}// robot_followif (!isset($seoPage[0]['robot_follow'])) {$seoPage[0]['robot_follow'] = 0;}return $this->render('seo/_seoPage.html.twig', ['seoPage' => $seoPage[0],]);}#[Route('/admin/global/seo/actualite/{id}', name: 'app_global_seo_actualite'),Route('/admin/global/seo/offre-emploi/{id}', name: 'app_global_seo_offre_emploi'),Route('/admin/global/seo/formation/{id}', name: 'app_global_seo_formation'),Route('/admin/global/seo/evenement/{id}', name: 'app_global_seo_evenement')]public function actualite(ActualiteRepository $actualiteRepository,OffreEmploiRepository $offreEmploiRepository,FormationRepository $formationRepository,AgendaRepository $agendaRepository,RouterInterface $router,Request $request,int $id,): Response {$name = $request->attributes->get('_route');switch ($name) {case 'app_global_seo_actualite':$seo_type_seo = $actualiteRepository->seoActualite($id);$name_route_id = 'app_actualite_detail';$name_id = 'actualite';$name_route_slug = 'app_actualite_detail_slug';break;case 'app_global_seo_offre_emploi':$seo_type_seo = $offreEmploiRepository->seoOffreEmploi($id);$name_route_id = 'app_offre_emploi_detail';$name_id = 'offreEmploi';$name_route_slug = 'app_offre_emploi_detail_slug';break;case 'app_global_seo_formation':$seo_type_seo = $formationRepository->seoFormation($id);$name_route_id = 'app_formation_detail';$name_id = 'formation';$name_route_slug = 'app_formation_detail_slug';break;case 'app_global_seo_evenement':$seo_type_seo = $agendaRepository->seoAgenda($id);$name_route_id = 'app_evenement_detail';$name_id = 'evenement';$name_route_slug = 'app_evenement_detail_slug';break;default:$seo_type_seo = null;$name_route_id = null;$name_id = null;$name_route_slug = null;break;}if (!$seo_type_seo) {return new Response();}$seo_parent = $seo_type_seo->getSeoParent();if (!$seo_parent) {$seo_parent = new SeoParent();$seo_type_seo->setSeoParent($seo_parent);}if (!$seo_parent->getUrlCanonical()) {$seo_parent->setUrlCanonical($router->generate($name_route_id,[$name_id => $id],UrlGeneratorInterface::ABSOLUTE_URL));$slug = $seo_type_seo->getSlug();if ($slug) {$seo_parent->setUrlCanonical($router->generate($name_route_slug,['slug' => $slug],UrlGeneratorInterface::ABSOLUTE_URL));}}return $this->render('seo/_seo.html.twig', ['seoParent' => $seo_type_seo,]);}}