src/Controller/Front/PageStatiqueController.php line 82

Open in your IDE?
  1. <?php 
  2. namespace App\Controller\Front;
  3. use App\Entity\Menu;
  4. use App\Entity\Post;
  5. use App\Entity\UrlRef;
  6. use App\Entity\UrlPost;
  7. use App\Entity\Category;
  8. use App\Entity\Language;
  9. use App\Entity\MediaCms;
  10. use App\Entity\Secteurs;
  11. use App\Entity\TypePost;
  12. use App\Entity\ListeMenu;
  13. use App\Service\BuildTree;
  14. use App\Entity\CpPostField;
  15. use App\Entity\PostArchive;
  16. use App\Service\RenderBloc;
  17. use Spatie\SchemaOrg\Graph;
  18. use App\Entity\ParametreRef;
  19. use App\Service\MetaService;
  20. use Spatie\SchemaOrg\Schema;
  21. use App\Entity\ParametreSite;
  22. use App\Entity\ReseauSociaux;
  23. use App\Service\MetaClePageRef;
  24. use App\Service\FunctionService;
  25. use App\Service\MetaWithoutCategoryService;
  26. use Symfony\Component\HttpFoundation\Request;
  27. use Symfony\Component\HttpFoundation\Response;
  28. use Symfony\Component\Routing\Annotation\Route;
  29. use Symfony\Component\HttpFoundation\JsonResponse;
  30. use Leogout\Bundle\SeoBundle\Seo\Og\OgSeoGenerator;
  31. use Symfony\Component\String\Slugger\SluggerInterface;
  32. use Leogout\Bundle\SeoBundle\Seo\Basic\BasicSeoGenerator;
  33. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  34. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  35. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  36. class PageStatiqueController extends AbstractController
  37. {
  38.     public $basicSeo;
  39.     public $seo;
  40.     private $slugger;
  41.     private $projectDir;
  42.     private $metaService;
  43.     private $metaClePageRef;
  44.     private $renderBloc;
  45.     private $buildTree;
  46.     private $functionService;
  47.     private $metaPostService;
  48.     private $theme;
  49.     
  50.     public function __construct(string $projectDir,string $theme,
  51.                                 BasicSeoGenerator $basicSeo,
  52.                                 OgSeoGenerator $seo,
  53.                                 RenderBloc $renderBloc,
  54.                                 SluggerInterface $slugger,
  55.                                 BuildTree $buildTree,
  56.                                 MetaService $metaService,
  57.                                 MetaWithoutCategoryService $metaPostService,
  58.                                 MetaClePageRef $metaClePageRef,
  59.                                 FunctionService $functionService){
  60.         $this->metaService $metaService;
  61.         $this->metaPostService $metaPostService;
  62.         $this->basicSeo $basicSeo;
  63.         $this->seo $seo;
  64.         $this->buildTree $buildTree;
  65.         $this->slugger $slugger;
  66.         $this->metaClePageRef $metaClePageRef;
  67.         $this->functionService $functionService;
  68.         $this->renderBloc $renderBloc;
  69.         $this->projectDir $projectDir;
  70.         $this->theme $theme;
  71.     }
  72.     /**
  73.      * @Route("/plan-du-site", priority=10 , name="plan_du_site", options={"sitemap" = true})
  74.      */
  75.     public function PlanDuSite(Request $request)
  76.     {
  77.         $schemaOrg = new Graph();
  78.         $menu_principal = [];
  79.         $post = ["title"=> "Plan du site"];
  80.         $meta_robots "INDEX,FOLLOW";
  81.         $Menu_right $this->getDoctrine()->getRepository(ListeMenu::class)->findOneBy(['type'=>'Header-right','IdSite'=> '1']);
  82.         if($Menu_right){
  83.             $ListMenu_rigth $this->getDoctrine()->getRepository(Menu::class)->findMenuActif($Menu_right->getId());
  84.             $menu_principal $this->buildTree->buildMenu($ListMenu_rigth);
  85.         }
  86.         $schema_breadcrumb_items = [];
  87.         $schema_breadcrumb_items[] = Schema::ListItem()
  88.                                    ->position(1)
  89.                                    ->item(["@id"=> $this->generateUrl('index_home', [], UrlGeneratorInterface::ABSOLUTE_URL),"name"=>"Accueil"]);
  90.         $schema_breadcrumb_items[] = Schema::ListItem()
  91.                                     ->position(2)
  92.                                     ->item(["@id"=> $this->generateUrl('plan_du_site', [], UrlGeneratorInterface::ABSOLUTE_URL),"name"=>'Plan du site']);
  93.         if ($schema_breadcrumb_items) {
  94.             $schemaOrg->add(Schema::BreadcrumBList()->itemListElement($schema_breadcrumb_items));
  95.         }
  96.         return $this->render('front/'.$this->theme.'/page_plan_site.html.twig',[
  97.             'meta_robots'=> $meta_robots,
  98.             'post'=> $post,
  99.             'menu_principal'=> $menu_principal,
  100.             'schemaOrg'=> $schemaOrg
  101.         ]);
  102.     }
  103.     // /**
  104.     //  * @Route("/{slug}", name="secteur_activite")
  105.     //  */
  106.     // public function PageController(Request $request,$slug)
  107.     // {
  108.     //     $url_ref = $this->getDoctrine()->getRepository(UrlRef::class)->findRefBySlug($slug);
  109.     //     $this->metaClePageRef->meta($url_ref);
  110.     //     if($url_ref->getType() === "Secteur"){
  111.     //        $secteur = $this->getDoctrine()->getRepository(Secteurs::class)->find($url_ref->getIdModule());
  112.     //        $activites = $this->getDoctrine()->getRepository(UrlRef::class)->findBy(['type'=>'Activite','id_secteur'=>$secteur->getId()]);
  113.     //        $resultat = ['slug'=> $secteur->getLibelleUrl(),
  114.     //                     'titre_secteur'=> $url_ref->getTitreSecteur(),
  115.     //                     'texte_secteur'=> $url_ref->getTexteSecteur(),
  116.     //                     'activites'=> $activites,
  117.     //                    ];
  118.     //        $template = $this->render('front/secteur.html.twig',[
  119.     //            'resultat'=> $resultat,
  120.     //         ]);
  121.  
  122.     //     }elseif($url_ref->getType() === "Activite"){
  123.             
  124.     //         $parametreRef = $this->getDoctrine()->getRepository(ParametreRef::class)->find(1);
  125.     //         $RandomSecteurs = null;
  126.     //         $RandomActivites = null;
  127.     //         $secteur = $url_ref->getIdSecteur();
  128.     //         $activite = $url_ref->getIdActivite();
  129.     //         if($parametreRef->getNbMaillageSecteur() != ''){
  130.     //            $NbMaillageSecteur = $parametreRef->getNbMaillageSecteur();
  131.     //            $RandomSecteurs = $this->getDoctrine()->getRepository(Secteurs::class)->findRandomSecteur($NbMaillageSecteur,$secteur->getId());
  132.     //         }
  133.     //         if($parametreRef->getNbMaillageActivite() != ''){
  134.     //            $NbMaillageActivite = $parametreRef->getNbMaillageActivite();
  135.     //            $RandomActivites = $this->getDoctrine()->getRepository(UrlRef::class)->findRandomActiviteBySecteur($NbMaillageActivite,$secteur->getId(),$activite->getId());
  136.     //         }
  137.    
  138.             
  139.     //         $resultat = ['titre_secteur'=> $secteur->getTitreSecteur(),
  140.     //                      'slug_secteur'=> $secteur->getLibelleUrl(),
  141.     //                      'titre_activite'=> $url_ref->getTitreActivite(),
  142.     //                      'texte_activite'=> $url_ref->getTexteActivite(),
  143.     //                      'maillage_secteur'=> $RandomSecteurs,
  144.     //                      'maillage_activite'=> $RandomActivites,
  145.     //                     ];
  146.     //         $template = $this->render('front/activite.html.twig',[
  147.     //                         'resultat'=> $resultat,
  148.     //                         'parametreRef'=> $parametreRef,
  149.     //                     ]);
  150.     //     }
  151.         
  152.         
  153.     //     return $template;
  154.     // }
  155.     /**
  156.      * @Route("/page-archive/{id}", name="page_cms_archive")
  157.      */
  158.     public function PageCmsArchive(Request $request,$id)
  159.     {
  160.         $_locale $request->getLocale();
  161.         $post $this->getDoctrine()->getRepository(PostArchive::class)->find($id);
  162.         if(!$post){
  163.             throw new NotFoundHttpException('Sorry not existing!');
  164.         }
  165.         return $this->render('front/'.$this->theme.'/page_cms.html.twig',[
  166.             'post'=> $post,
  167.         ]);
  168.     }
  169. }