src/Menu/AdminMenuListener.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Menu;
  3. use App\Repository\Popup\PopupRepository;
  4. use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
  5. final class AdminMenuListener
  6. {
  7.     private PopupRepository $popupRepository;
  8.     public function __construct(PopupRepository $popupRepository)
  9.     {
  10.         $this->popupRepository $popupRepository;
  11.     }
  12.     public function addAdminMenuItems(MenuBuilderEvent $event): void
  13.     {
  14.         $menu $event->getMenu();
  15.         // CMS
  16.         $cms_menu $menu->getChild('bitbag_cms');
  17.         $cms_menu->addChild('partners', [
  18.             'route' => 'app_admin_partner_index'
  19.         ])->setLabel('app.menu.admin.partners')->setLabelAttribute('icon''users');
  20.         $cms_menu->addChild('popup', [
  21.             'route' => 'app_admin_popup_index',
  22.         ])->setLabel('app.menu.admin.popups')->setLabelAttribute('icon''window restore');
  23.         $cms_menu->reorderChildren(['partners''blocks''media''pages''faq''sections''popup']);
  24.         // Marketing
  25.         $marketingMenu $menu->getChild('marketing');
  26.         $marketingMenu->addChild('site_review', [
  27.             'route' => 'app_admin_site_review_index'
  28.         ])->setLabel('Avis site')->setLabelAttribute('icon''newspaper');
  29.         $marketingMenu->removeChild('product_reviews');
  30.         // Sales
  31.         $salesMenu $menu->getChild('sales');
  32.         $salesMenu->addChild('contact_request', [
  33.             'route' => 'app_admin_contact_request_index'
  34.         ])->setLabel('app.menu.admin.contact_request')->setLabelAttribute('icon''users');
  35.         $salesMenu->reorderChildren(['orders''contact_request''payments''shipments']);
  36.         // Catalog
  37.         $catalogMenu $menu->getChild('catalog');
  38.         $catalogMenu->addChild('free_option', [
  39.             'route' => 'app_admin_free_option_index'
  40.         ])->setLabel('app.menu.admin.free_options')->setLabelAttribute('icon''server');
  41.         $catalogMenu->addChild('free_option_category', [
  42.             'route' => 'app_admin_free_option_category_index'
  43.         ])->setLabel('app.menu.admin.free_option_categories')->setLabelAttribute('icon''folder');
  44.     }
  45. }