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('getMenuWebsiteItems', [$this, 'getMenuWebsiteItems']),
  20. ];
  21. }
  22. /**
  23. * Menu -> 1er niveau
  24. */
  25. public function getMenu($locale)
  26. {
  27. return $this->menu->getMenu($locale);
  28. }
  29. /**
  30. * Sous menu
  31. */
  32. public function getMenuItems($menuId)
  33. {
  34. return $this->menu->getMenuItems($menuId);
  35. }
  36. public function getMenuWebsiteItems($parentID) {
  37. return $this->menu->getMenuWebsiteItems($parentID);
  38. }
  39. public function getMenuWebsiteArray($language,$type,$connectuser = null)
  40. {
  41. return $this->menu->getMenuWebsiteArray($language,$type,$connectuser);
  42. }
  43. }