src/EventSubscriber/KNPMenuEventSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use KevinPapst\AdminLTEBundle\Event\KnpMenuEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Contracts\Translation\TranslatorInterface;
  6. class KNPMenuEventSubscriber implements EventSubscriberInterface
  7. {
  8. /**
  9. * @var TranslatorInterface
  10. */
  11. private $translator;
  12. /**
  13. * KNPMenuSubscriber constructor.
  14. *
  15. * @param TranslatorInterface $translator
  16. */
  17. public function __construct(TranslatorInterface $translator)
  18. {
  19. $this->translator = $translator;
  20. }
  21. public function onKnpMenuEventClass(KnpMenuEvent $event)
  22. {
  23. $menu = $event->getMenu();
  24. /*
  25. $menu->addChild('dashboard', [
  26. 'route' => 'app_home',
  27. 'label' => $this->translator->trans('navigation.dashboard', [], 'backend'),
  28. ''
  29. ])->setLabelAttribute('icon', 'fas fa-home');
  30. */
  31. $menu->addChild('order_requests', [
  32. 'route' => 'app_order_request_index',
  33. 'label' => $this->translator->trans('navigation.orders_new', [], 'backend'),
  34. ''
  35. ])->setLabelAttribute('icon', 'fas fa-shopping-basket');
  36. /*
  37. $menu->addChild('orders_in_progress', [
  38. 'route' => 'app_coming_soon',
  39. 'label' => $this->translator->trans('navigation.orders_in_progress', [], 'backend'),
  40. '',
  41. ])->setLabelAttribute('icon', 'fas fa-cogs');
  42. $menu->addChild('orders_complete',
  43. [
  44. 'route' => 'app_coming_soon',
  45. 'label' => $this->translator->trans('navigation.orders_complete', [], 'backend'),
  46. '',
  47. ])->setLabelAttribute('icon', 'fas fa-check-square');
  48. */
  49. $menu->addChild('companies', [
  50. 'route' => 'app_company_index',
  51. 'label' => $this->translator->trans('navigation.companies', [], 'backend'),
  52. ''
  53. ])->setLabelAttribute('icon', 'fas fa-address-card');
  54. $menu->addChild('users',
  55. [
  56. 'route' => 'app_user_index',
  57. 'label' => $this->translator->trans('navigation.users', [], 'backend'),
  58. '',
  59. ])->setLabelAttribute('icon', 'fas fa-user-circle');
  60. /*
  61. $menu->addChild('products',
  62. [
  63. 'route' => 'app_coming_soon',
  64. 'label' => $this->translator->trans('navigation.products', [], 'backend'),
  65. '',
  66. ])->setLabelAttribute('icon', 'fas fa-cubes');
  67. */
  68. $menu->addChild('custom_fields', [
  69. 'route' => 'app_custom_field_index',
  70. 'label' => $this->translator->trans('navigation.custom_fields', [], 'backend'),
  71. ''
  72. ])->setLabelAttribute('icon', 'fas fa-cubes');
  73. $menu->addChild('logout', [
  74. 'route' => 'app_logout',
  75. 'label' => $this->translator->trans('navigation.logout', [], 'backend'),
  76. ''
  77. ])->setLabelAttribute('icon', 'fas fa-sign-out-alt');
  78. }
  79. public static function getSubscribedEvents()
  80. {
  81. return [
  82. KnpMenuEvent::class => 'onKnpMenuEventClass',
  83. ];
  84. }
  85. }