src/Twig/CategoryExtention.php line 59

Open in your IDE?
  1. <?php 
  2. namespace App\Twig;
  3. use App\Repository\ArticleRepository;
  4. use App\Repository\Category2Repository;
  5. use App\Repository\Category3Repository;
  6. use App\Repository\CategoryRepository;
  7. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  8. use Symfony\Contracts\Translation\TranslatorInterface;
  9. use Twig\Extension\AbstractExtension;
  10. use Twig\TwigFunction;
  11. class CategoryExtention extends AbstractExtension
  12. {
  13.     private $categoryRepository;
  14.     private $category2Repository;
  15.     private $category3Repository;
  16.     private $articleRepository;
  17.     public function __construct(ArticleRepository $articleRepositoryCategoryRepository $categoryRepository,Category3Repository $category3RepositoryCategory2Repository $category2Repository)
  18.     {
  19.         $this->articleRepository $articleRepository;
  20.         $this->categoryRepository $categoryRepository;
  21.         $this->category3Repository $category3Repository;
  22.         $this->category2Repository $category2Repository;
  23.     }
  24.     public function getFunctions():array
  25.     {
  26.         return[
  27.             new TwigFunction('sidebar',[$this,'categories']),
  28.             new TwigFunction('categoryCount',[$this,'categoryCount']),
  29.         ];
  30.     }
  31.     public function categoryCount(string $parent ,string $category ):int {
  32.         return $this->articleRepository->findCategoryCount($parent$category);
  33.     }
  34.     public function filtre1(string $slug){
  35.         return $this->categoryRepository->findOneBy([
  36.             'slug'=>$slug,
  37.         ]);
  38.     }
  39.     public function filtre3(string $slug){
  40.         return $this->category3Repository->findOneBy([
  41.             'slug'=>$slug
  42.         ]);
  43.     }
  44.     public function filtre2(string $slug null){
  45.         // dump($this->category2Repository->findAll());
  46.         return $this->category2Repository->findAll();
  47.     }
  48.     public function niveau3(){
  49.         return $this->category3Repository->findAll();
  50.     }
  51.     public function niveau2(){
  52.         return $this->category2Repository->findAll();
  53.     }
  54.     public function all()
  55.     {
  56.         return $this->categoryRepository->findAll();
  57.         
  58.     }
  59.    
  60. }