src/Twig/MenuExtension.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use App\Services\Menu\Core;
  4. use Twig\Extension\AbstractExtension;
  5. use Twig\TwigFunction;
  6. use Twig\TwigFilter;
  7. class MenuExtension extends AbstractExtension
  8. {
  9.     public function __construct(Core $coreMenu)
  10.     {
  11.         $this->menu $coreMenu;
  12.     }
  13.     public function getFunctions(): array
  14.     {
  15.         return [
  16.             new  TwigFunction('getMenu', [$this'getMenu']),
  17.             new  TwigFunction('getMenuItems', [$this'getMenuItems']),
  18.             new  TwigFunction('getMenuWebsiteArray', [$this'getMenuWebsiteArray']),
  19.             new  TwigFunction('getMenuWebsiteLocaleArray', [$this'getMenuWebsiteLocaleArray']),
  20.             new  TwigFunction('getMenuWebsiteItems', [$this'getMenuWebsiteItems']),
  21.         ];
  22.     }
  23.     /**
  24.      * Menu -> 1er niveau
  25.      */
  26.     public function getMenu($locale)
  27.     {
  28.         return $this->menu->getMenu($locale);
  29.     }
  30.     /**
  31.      * Sous menu
  32.      */
  33.     public function getMenuItems($menuId)
  34.     {
  35.         return $this->menu->getMenuItems($menuId);
  36.     }
  37.     public function getMenuWebsiteItems($parentID) {
  38.         return $this->menu->getMenuWebsiteItems($parentID);
  39.     }
  40.     public function getMenuWebsiteArray($type,$connectuser null)
  41.     {
  42.         return $this->menu->getMenuWebsiteArray($type,$connectuser);
  43.     }
  44.     public function getMenuWebsiteLocaleArray($locale,$type,$connectuser null)
  45.     {
  46.         return $this->menu->getMenuWebsiteLocaleArray($locale,$type,$connectuser);
  47.     }
  48. }