48 $view = parent::resolveView();
50 'extensionName' => $this->request->getControllerExtensionName(),
51 'controllerName' => $this->request->getControllerName(),
52 'actionName' => $this->request->getControllerActionName()
63 'installedExtensions' => [
64 'controller' =>
'List',
66 'label' => $this->
translate(
'installedExtensions')
71 $menuItems[
'getExtensions'] = [
72 'controller' =>
'List',
76 $menuItems[
'distributions'] = [
77 'controller' =>
'List',
78 'action' =>
'distributions',
82 if ($this->actionMethodName ===
'showAllVersionsAction') {
83 $menuItems[
'showAllVersions'] = [
84 'controller' =>
'List',
85 'action' =>
'showAllVersions',
86 'label' => $this->
translate(
'showAllVersions') .
' ' . $this->request->getArgument(
'extensionKey')
91 $uriBuilder = $this->objectManager->get(UriBuilder::class);
94 $menu = $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
95 $menu->setIdentifier(
'ExtensionManagerModuleMenu');
97 foreach ($menuItems as $menuItemConfig) {
98 if ($this->request->getControllerName() === $menuItemConfig[
'controller']) {
99 $isActive = $this->request->getControllerActionName() === $menuItemConfig[
'action'] ? true :
false;
103 $menuItem = $menu->makeMenuItem()
104 ->setTitle($menuItemConfig[
'label'])
105 ->setHref($this->
getHref($menuItemConfig[
'controller'], $menuItemConfig[
'action']))
106 ->setActive($isActive);
107 $menu->addMenuItem($menuItem);
110 $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
111 $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
122 protected function getHref($controller, $action, $parameters = [])
124 $uriBuilder = $this->objectManager->get(UriBuilder::class);
126 return $uriBuilder->reset()->uriFor($action, $parameters, $controller);