src/Controller/IndexController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Categories;
  4. use App\Entity\Produit;
  5. use App\Repository\CategoriesRepository;
  6. use App\Repository\ProduitRepository;
  7. use App\Repository\UserRepository;
  8. use Knp\Component\Pager\PaginatorInterface;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use App\Services\Visite\VisiteService;
  13. class IndexController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("/", name="app_accueil")
  17.      */
  18.     public function index(CategoriesRepository $categorieRepositoryProduitRepository $produitsRepositoryUserRepository $userRepositoryVisiteService $visite)
  19.     {
  20.         $produits $produitsRepository->findBy(
  21.             [],
  22.             ['id' => 'DESC'],
  23.             10);
  24.         $producteurs $userRepository->findBy(['id'=>1234567890]);
  25.         $visite->visitegenerale();
  26.         return $this->render('front/index.html.twig', [
  27.             'categories' => $categorieRepository->findAll(),
  28.             'produits' => $produits,
  29.             'meilleursVentes' => $produits,
  30.             'produitsPopulaires' => $produits,
  31.             'producteurs' => $producteurs
  32.         ]);
  33.     }
  34.     /**
  35.      * @Route("/produits/{Slug}", name="app_fiche_produit")
  36.      */
  37.     public function ficheProduit(Produit $produitProduitRepository $produitsRepositoryVisiteService $visite)
  38.     {
  39.         $visite->produitvisite($produit);
  40.         $produits $produitsRepository->findBy(['id' => $produit->getId()]);
  41.         return $this->render('front/fiche_produit.html.twig', [
  42.             'produit' => $produit,
  43.             'produits' => $produits
  44.         ]);
  45.     }
  46.     /**
  47.      * @Route("/nos-produits", name="app_boutique")
  48.      */
  49.     public function boutique(Request $requestProduitRepository $produitsRepositoryPaginatorInterface $paginator)
  50.     {
  51.         $produits $produitsRepository->findBy(
  52.             [],
  53.             ['id' => 'DESC']);
  54.         $produits $paginator->paginate($produits $produitsRepository->findBy(
  55.             [],
  56.             ['id' => 'DESC'])
  57.             , // Requête contenant les données à paginer (ici nos articles)
  58.             $request->query->getInt('page'1), // Numéro de la page en cours, passé dans l'URL, 1 si aucune page
  59.             45 // Nombre de résultats par page
  60.         );
  61.         return $this->render('front/notre-boutique.html.twig', [
  62.             'type' => null,
  63.             'produits' => $produits
  64.         ]);
  65.     }
  66.     /**
  67.      * @Route("/categorie/{slug}", name="app_categorie_boutique")
  68.      */
  69.     public function categorieProduits(Request $requestCategories $categorieProduitsPaginatorInterface $paginator)
  70.     {
  71.         $produits $paginator->paginate($categorieProduits->getProduits()
  72.             , // Requête contenant les données à paginer (ici nos articles)
  73.             $request->query->getInt('page'1), // Numéro de la page en cours, passé dans l'URL, 1 si aucune page
  74.             15 // Nombre de résultats par page
  75.         );
  76.         return $this->render('front/notre-boutique.html.twig', [
  77.             'produits' => $produits,
  78.             'type' => 'categorie',
  79.             'categorie' => $categorieProduits->getLibelle()
  80.         ]);
  81.     }
  82.     /**
  83.      * @Route("/cgu", name="app_cgu")
  84.      */
  85.     public function cgu()
  86.     {
  87.         return $this->render('front/cgu.html.twig');
  88.     }
  89.     /**
  90.      * @Route("/politique-de-confidentialite", name="app_politique")
  91.      */
  92.     public function politique()
  93.     {
  94.         return $this->render('front/cgu.html.twig');
  95.     }
  96.     /**
  97.      * @Route("/contact", name="app_contact")
  98.      */
  99.     public function contact()
  100.     {
  101.         return $this->render('front/contact.html.twig');
  102.     }
  103.     /**
  104.      * @Route("/glenou", name="app_eyobu")
  105.      */
  106.     public function eyobu()
  107.     {
  108.         return $this->render('front/abouts_us.html.twig');
  109.     }
  110. }