src/Controller/IndexController.php line 43

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