src/Controller/MainController.php line 161

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Knp\Component\Pager\PaginatorInterface;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use App\Repository\BusinessInformationRepository;
  9. use App\Repository\BannerRepository;
  10. use App\Repository\LogoPARepository;
  11. use App\Repository\BlogRepository;
  12. use App\Repository\BusinessCategoriesRepository;
  13. class MainController extends AbstractController
  14. {
  15.     #[Route('/'name'app_main')]
  16.     public function index(Request $requestBusinessInformationRepository $repositoryBlogRepository $blog_repository,  LogoPARepository $logo_repositoryBannerRepository $banner_repositoryPaginatorInterface $paginator): Response
  17.     {
  18.   //show banner      
  19. $banner$banner_repository->findBy( ['active' => true]);
  20. //client a la une
  21.     $business=$paginator->paginate($repository->findBy
  22.         ['alaune' => true]
  23.       
  24.   ),
  25.    $request->query->getInt('page'1),
  26.    20);
  27.    //Logo Page d'Accueil
  28.    $logo$logo_repository->findBy( ['active' => true]);
  29.      //Blog Page d'Accueil
  30.      $blog$blog_repository->findBy( ['active' => true]);
  31.   return $this->render('main/index.html.twig',[
  32.       "business"=>$business,
  33.       "banners"=>$banner,
  34.       "logos"=>$logo,
  35.       "blogs"=>$blog,
  36. ]);
  37.     }
  38. //SHOW CUSTMER DETAIL
  39.     #[Route('/c/{id}-{slug}'name'customer.show')]
  40.     public function show($id$slug,Request $requestBusinessInformationRepository $repository) :Response
  41.     {
  42.         
  43.         $business $repository->find($id);
  44.        
  45.           
  46.         return $this->render('main/showcustomerdetail.html.twig',[
  47.           'business' => $business ,
  48.        
  49.        ]);
  50.       }
  51.       
  52. //Recherche par secteur d'activité 
  53.    
  54.     #[Route('/s/{id}-{slug}'name'customer.secteur')]
  55.      public function SecteurActivity(PaginatorInterface $paginatorRequest $request,$id,$slugBusinessCategoriesRepository $businesscat) :Response
  56.      {
  57.          $group_id=$id;
  58.          switch ($group_id) {
  59.  case 3:
  60.      $secteur "Administration";
  61.      $banner_v='LAITERIE -safi.jpg';
  62.         break;
  63.  case 4:
  64.      $secteur "Agroalimentaire";
  65.       $banner_v='LAITERIE -safi.jpg';
  66.         break;
  67.  case 5:
  68.      $secteur "Chimie, Petrochimie";
  69.      $banner_v='LAITERIE -safi.jpg';
  70.         break;
  71.  case 6:
  72.      $secteur "Commerce";
  73.      $banner_v='geramelec.jpg';
  74.         break;
  75.  case 7:
  76.      $secteur "Construction";
  77.      $banner_v='ARRAYANE_PROMOTION.jpg';
  78.         break;
  79.  case 8:
  80.      $secteur "Formation, Enseignement";
  81.      $banner_v='formation_dle.jpg';
  82.         break;
  83.  case 9:
  84.      $secteur "Fournitures, Equipements";
  85.      $banner_v='GRS-ALGERIE.jpg';
  86.         break;
  87.  case 10:
  88.      $secteur "Import/Export";
  89.      $banner_v='besthouse.jpg';
  90.         break;
  91.  case 11:
  92.      $secteur "Impression, Edition";
  93.      $banner_v='impression_ipm.jpg';
  94.         break;
  95.  case 12:
  96.     
  97.      $secteur "Industrie de production";
  98.      $banner_v='LAITERIE -safi.jpg';
  99.       break;
  100.     
  101.  case 13:
  102.      $secteur "Santé";
  103.      $banner_v='sante_laboratoire_hematologie.jpg';
  104.         break;
  105.  case 14:
  106.      $secteur "Service";
  107.      $banner_v='MAGHREB_PROSPECTION.jpg';
  108.         break;
  109.  case 15:
  110.      $secteur "Tourisme";
  111.      $banner_v='tourisme_elboustane.jpg';
  112.         break;
  113.  case 16:
  114.      $secteur "Transport";
  115.      $banner_v='FRICTION.jpg';
  116.         break;
  117.  case 17:
  118.      $secteur "Sport, Artisanat & Loisirs";
  119.      $banner_v='LAITERIE -safi.jpg';
  120.         break;
  121.  case 18:
  122.      $secteur "Elevage, aviculture et horticulture";
  123.      $banner_v='elevage_bouhadra.jpg';
  124.         break;
  125.  }
  126.  
  127.  //$repository = $this->getDoctrine()->getRepository(BusinessCategories::class);
  128.         // $product = $this->repository->findByMarque($marque);
  129.         //pagin
  130.         
  131.            $business=$paginator->paginate($businesscat->findBy
  132.                ['group_id' => $group_id],
  133.                 
  134.              ['statut' => 'DESC']
  135.          ),
  136.           $request->query->getInt('page'1),
  137.           11);
  138.     
  139.       // dump($business);
  140.         return $this->render('main/showcustomersecteur.html.twig',[
  141.         "business"=>$business,
  142.          "secteur"=>$secteur,
  143.          "banner"=>$banner_v,
  144.                 ]   );
  145.          
  146.      } 
  147. // Liste client de la rubriques
  148.      
  149.      #[Route('/detail/{id}-{slug}'name'customer.detail.rubrique')]
  150.     public function BusinessDetailRubrique(PaginatorInterface $paginatorRequest $request$id,$slugBusinessInformationRepository $repository ) :Response
  151.     {
  152.         $category=$id;
  153.         $category =  (string)$id;
  154.         //$banner=$bv;
  155.        // dd($banner);
  156.       //  echo $category;
  157.        // $business = $this->repository->findCategory($category);
  158.       //  $repository = $this->getDoctrine()->getRepository(BusinessInformation::class);
  159.            /* $business=$paginator->paginate($repository->findBy( 
  160.               ['categories' => $category]      ),
  161.          $request->query->getInt('page', 1),
  162.          9);
  163.        */
  164.            $business=$paginator->paginate($repository->findCategory($category),
  165.          $request->query->getInt('page'1),
  166.          9);
  167.        
  168.        // dump($business);
  169.      return $this->render('main/showcustomers.html.twig',[  
  170.            "business"=>$business
  171.           // "bannerv"=>$banner
  172.        ]   );
  173.          // return new Response(            '<html><body>Lucky number: '.$category.'</body></html>'        );
  174.     
  175.  
  176. //Static Routes
  177.     #[Route('/qui-sommes-nous'name'app_about')]
  178.     public function about(): Response
  179.     {
  180.         return $this->render('main/about.html.twig');
  181.     }
  182.     #[Route('/nos-offres'name'app_nos_offres')]
  183.     public function offre(): Response
  184.     {
  185.         return $this->render('main/offre.html.twig');
  186.     }
  187.     
  188.     #[Route('/appel-offres'name'app_appel_offres')]
  189.     public function appel(): Response
  190.     {
  191.         return $this->render('main/appel_offre.html.twig');
  192.     }
  193.     #[Route('/tout-secteur'name'app_secteur')]
  194.     public function secteur(): Response
  195.     {
  196.         return $this->render('main/secteurs.html.twig');
  197.     }
  198.     #[Route('/blogs'name'app_blogs')]
  199.     public function blog(BlogRepository $blog_repository): Response
  200.     {
  201.         $blog=$blog_repository->findAll();
  202.         return $this->render('main/blogs.html.twig',
  203.     [
  204.         "blogs"=>$blog
  205.     ]);
  206.     }
  207. }