src/Controller/CategoryController.php line 42

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Category;
  4. use App\Entity\Article;
  5. use App\Repository\CategoryRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Knp\Component\Pager\PaginatorInterface;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. class CategoryController extends AbstractController
  13. {
  14.     // Affichage des catégories de la partie publique
  15.     /**
  16.      * @Route("/category", name="category")
  17.      */
  18.     public function index(CategoryRepository $repoRequest $requestPaginatorInterface $paginator)
  19.     {
  20.         $donnees $repo->findAll();
  21.         $categories $paginator->paginate(
  22.             $donnees// on passe les données
  23.             $request->query->getInt('page'1), // N° de la page en cours, 1 par défaut
  24.             // nombre d'éléments par page
  25.         );
  26.         return $this->render('category/index.html.twig', [
  27.             'controller_name' => 'CategoryController',
  28.             'categories' => $categories,
  29.         ]);
  30.     }
  31.     // Vue qui permet d'afficher une catégorie
  32.     /**
  33.     * @Route("/category/{slug}", name="category_show")
  34.     */
  35.     public function show(Category $category nullRequest $requestEntityManagerInterface $manager) {
  36.     
  37.         $articles $manager->getRepository(Article::class)->findByCategory($category, ['position' => 'ASC']);
  38.         return $this->render('category/show.html.twig', [
  39.             'articles' => $articles
  40.             'category' => $category
  41.         ]);
  42.     }
  43. }