66
77use Ibexa \AdminUi \Menu \Event \ConfigureMenuEvent ;
88use Ibexa \AdminUi \Menu \MainMenuBuilder ;
9+ use Ibexa \Contracts \Core \SiteAccess \ConfigResolverInterface ;
910use Knp \Menu \ItemInterface ;
1011use Symfony \Component \EventDispatcher \EventSubscriberInterface ;
1112use Symfony \Component \Security \Core \Authorization \AuthorizationCheckerInterface ;
@@ -19,6 +20,7 @@ final class MainMenuBuilderListener implements EventSubscriberInterface
1920{
2021 public function __construct (
2122 private AuthorizationCheckerInterface $ authorizationChecker ,
23+ private ConfigResolverInterface $ configResolver ,
2224 ) {}
2325
2426 public static function getSubscribedEvents (): array
@@ -75,10 +77,12 @@ private function addLayoutsSubMenu(ItemInterface $menu): void
7577 ->setLabel ('menu.main_menu.transfer ' )
7678 ->setExtra ('translation_domain ' , 'nglayouts_admin ' );
7779
78- $ layouts
79- ->addChild ('components ' , ['route ' => 'nglayouts_admin_ibexa_components_index ' ])
80- ->setLabel ('menu.main_menu.ibexa.components ' )
81- ->setExtra ('translation_domain ' , 'nglayouts_admin ' );
80+ if ($ this ->configResolver ->hasParameter ('ibexa_component.parent_locations ' , 'netgen_layouts ' )) {
81+ $ layouts
82+ ->addChild ('components ' , ['route ' => 'nglayouts_admin_ibexa_components_index ' ])
83+ ->setLabel ('menu.main_menu.ibexa.components ' )
84+ ->setExtra ('translation_domain ' , 'nglayouts_admin ' );
85+ }
8286
8387 $ menu ->reorderChildren ($ menuOrder );
8488 }
0 commit comments