src/Menu/ContentManagementMenuBuilder.php line 15

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Menu;
  4. use Sylius\Bundle\ApiBundle\Context\UserContextInterface;
  5. use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
  6. use Symfony\Component\Security\Core\Security;
  7. final class ContentManagementMenuBuilder
  8. {
  9.     public function __construct(private Security $security) {}
  10.     public function buildMenu(MenuBuilderEvent $menuBuilderEvent): void
  11.     {
  12.         if (in_array('ROLE_SUPERADMIN'$this->security->getUser()->getRoles())) {
  13.             $menu $menuBuilderEvent->getMenu();
  14.             $cmsRootMenuItem $menu
  15.                 ->addChild('bitbag_cms')
  16.                 ->setLabel('bitbag_sylius_cms_plugin.ui.cms');
  17.             $cmsRootMenuItem
  18.                 ->addChild('blocks', [
  19.                     'route' => 'bitbag_sylius_cms_plugin_admin_block_index',
  20.                 ])
  21.                 ->setLabel('bitbag_sylius_cms_plugin.ui.blocks')
  22.                 ->setLabelAttribute('icon''block layout');
  23.             $cmsRootMenuItem
  24.                 ->addChild('media', [
  25.                     'route' => 'bitbag_sylius_cms_plugin_admin_media_index',
  26.                 ])
  27.                 ->setLabel('bitbag_sylius_cms_plugin.ui.media')
  28.                 ->setLabelAttribute('icon''file');
  29.             $cmsRootMenuItem
  30.                 ->addChild('pages', [
  31.                     'route' => 'bitbag_sylius_cms_plugin_admin_page_index',
  32.                 ])
  33.                 ->setLabel('bitbag_sylius_cms_plugin.ui.pages')
  34.                 ->setLabelAttribute('icon''sticky note');
  35.             $cmsRootMenuItem
  36.                 ->addChild('faq', [
  37.                     'route' => 'bitbag_sylius_cms_plugin_admin_frequently_asked_question_index',
  38.                 ])
  39.                 ->setLabel('bitbag_sylius_cms_plugin.ui.faq')
  40.                 ->setLabelAttribute('icon''help');
  41.             $cmsRootMenuItem
  42.                 ->addChild('sections', [
  43.                     'route' => 'bitbag_sylius_cms_plugin_admin_section_index',
  44.                 ])
  45.                 ->setLabel('bitbag_sylius_cms_plugin.ui.sections')
  46.                 ->setLabelAttribute('icon''grid layout');
  47.         }
  48.     }
  49. }