src/Menu/AdminMenuListener.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Menu;
  4. use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
  5. use Symfony\Component\Routing\RouterInterface;
  6. final class AdminMenuListener
  7. {
  8.     public function __construct(private RouterInterface $router)
  9.     {
  10.     }
  11.     public function addAdminMenuItems(MenuBuilderEvent $event): void
  12.     {
  13.         $menu $event->getMenu();
  14.         $menu->getChildren()['sales']->addChild('stats')
  15.             ->setLabel('Statistiques')
  16.             ->setLabelAttribute('icon''chart bar')
  17.             ->setUri('/admin/orders/stats')
  18.             ->setExtra('routes', [
  19.                 ['route' => 'admin_order_stats'],
  20.             ]);
  21.         $menu->getChildren()['customers']->addChild('firmware')
  22.             ->setLabel('Firmware')
  23.             ->setLabelAttribute('icon''info')
  24.             ->setUri('/admin/customers-firmware')
  25.             ->setExtra('routes', [
  26.                 ['route' => 'admin_customers_firmware'],
  27.             ]);
  28.         $menu->getChildren()['customers']->addChild('library_transfer')
  29.             ->setLabel('app.ui.library_transfer')
  30.             ->setLabelAttribute('icon''exchange')
  31.             ->setUri($this->router->generate('app_admin_library_transfer_search'));
  32.         $menu->getChildren()['catalog']->addChild('universe_card')
  33.             ->setLabel('app.ui.universe_cards')
  34.             ->setLabelAttribute('icon''credit card')
  35.             ->setUri($this->router->generate('app_admin_universe_card_index'));
  36.         $newSubmenu $menu
  37.             ->addChild('new')
  38.             ->setLabel('customStrings.menu.sub_heading_firmware');
  39.         $newSubmenu
  40.             ->addChild('new-subitem', ['route' => 'app_admin_firmware_index'])
  41.             ->setLabel('customStrings.menu.menu_item_firmwares');
  42.         $menu->getChild('marketing')
  43.             ?->removeChild('bonus_points_strategies');
  44.     }
  45. }