From 621beaab84d5dfd8caca4ba5e6de75168001ab55 Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Wed, 3 Dec 2025 17:35:31 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(pages):=20Ajoute=20la=20page?= =?UTF-8?q?=20e-cosplay=20avec=20listing=20de=20cr=C3=A9ateurs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/PagesController.php | 10 +- src/EventSubscriber/SitemapSubscriber.php | 18 +++ templates/base.twig | 3 +- templates/pages.twig | 131 ++++++++++++++++++++++ translations/messages.fr.yaml | 19 +++- 5 files changed, 177 insertions(+), 4 deletions(-) create mode 100644 templates/pages.twig diff --git a/src/Controller/PagesController.php b/src/Controller/PagesController.php index ec6a243..86c7e17 100644 --- a/src/Controller/PagesController.php +++ b/src/Controller/PagesController.php @@ -2,7 +2,6 @@ namespace App\Controller; -use App\Repository\Ag\MainRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; @@ -10,7 +9,14 @@ use Symfony\Component\Routing\Attribute\Route; class PagesController extends AbstractController { #[Route(path: '/pages', name: 'app_pages', options: ['sitemap' => false], methods: ['GET','POST'])] - public function index(MainRepository $mainRepository): Response + public function index(): Response + { + return $this->render('pages.twig',[ + ]); + } + + #[Route(path: '/pages/discover', name: 'app_pages_discover', options: ['sitemap' => false], methods: ['GET','POST'])] + public function discover(): Response { return $this->render('pages/prestation.twig',[ ]); diff --git a/src/EventSubscriber/SitemapSubscriber.php b/src/EventSubscriber/SitemapSubscriber.php index d39f47b..7a33fca 100644 --- a/src/EventSubscriber/SitemapSubscriber.php +++ b/src/EventSubscriber/SitemapSubscriber.php @@ -51,6 +51,24 @@ class SitemapSubscriber } $urlContainer->addUrl($decoratedUrlMembers, 'default'); + $urlMembers = new UrlConcrete($urlGenerator->generate('app_pages', [], UrlGeneratorInterface::ABSOLUTE_URL)); + $decoratedUrlMembers = new GoogleImageUrlDecorator($urlMembers); + $decoratedUrlMembers->addImage(new GoogleImage($this->cacheManager->resolve('assets/images/logo.jpg','webp'))); + $decoratedUrlMembers = new GoogleMultilangUrlDecorator($decoratedUrlMembers); + foreach ($langs as $lang) { + $decoratedUrlMembers->addLink($urlGenerator->generate('app_pages',['lang'=>$lang], UrlGeneratorInterface::ABSOLUTE_URL), $lang); + } + $urlContainer->addUrl($decoratedUrlMembers, 'pages'); + + $urlMembers = new UrlConcrete($urlGenerator->generate('app_pages_discover', [], UrlGeneratorInterface::ABSOLUTE_URL)); + $decoratedUrlMembers = new GoogleImageUrlDecorator($urlMembers); + $decoratedUrlMembers->addImage(new GoogleImage($this->cacheManager->resolve('assets/images/logo.jpg','webp'))); + $decoratedUrlMembers = new GoogleMultilangUrlDecorator($decoratedUrlMembers); + foreach ($langs as $lang) { + $decoratedUrlMembers->addLink($urlGenerator->generate('app_pages_discover',['lang'=>$lang], UrlGeneratorInterface::ABSOLUTE_URL), $lang); + } + $urlContainer->addUrl($decoratedUrlMembers, 'pages'); + $urlEvents = new UrlConcrete($urlGenerator->generate('app_events', [], UrlGeneratorInterface::ABSOLUTE_URL)); $urlEvents = new GoogleImageUrlDecorator($urlEvents); $urlEvents->addImage(new GoogleImage($this->cacheManager->resolve('assets/images/logo.jpg','webp'))); diff --git a/templates/base.twig b/templates/base.twig index ebe364c..fc3125c 100644 --- a/templates/base.twig +++ b/templates/base.twig @@ -123,6 +123,7 @@ { 'name': 'Accueil'|trans, 'route': 'app_home' }, { 'name': 'Qui sommes-nous'|trans, 'route': 'app_about' }, { 'name': 'Nos membres'|trans, 'route': 'app_members' }, + { 'name': 'epage_cosplay'|trans, 'route': 'app_pages' }, { 'name': 'Nos événements'|trans, 'route': 'app_events' }, { 'name': 'Boutiques'|trans, 'route': 'app_shop' }, { 'name': 'Documents'|trans, 'route': 'app_doc' }, @@ -130,7 +131,7 @@ { 'name': 'Contact'|trans, 'route': 'app_contact' } ] %}
-