assignMultiple([ 'extensionName' => $this->request->getControllerExtensionName(), 'controllerName' => $this->request->getControllerName(), 'actionName' => $this->request->getControllerActionName() ]); return $view; } /** * Generates the action menu */ protected function generateMenu() { $menuItems = [ 'installedExtensions' => [ 'controller' => 'List', 'action' => 'index', 'label' => $this->translate('installedExtensions') ] ]; if (!$this->settings['offlineMode'] && !Environment::isComposerMode()) { $menuItems['getExtensions'] = [ 'controller' => 'List', 'action' => 'ter', 'label' => $this->translate('getExtensions') ]; $menuItems['distributions'] = [ 'controller' => 'List', 'action' => 'distributions', 'label' => $this->translate('distributions') ]; if ($this->actionMethodName === 'showAllVersionsAction') { $menuItems['showAllVersions'] = [ 'controller' => 'List', 'action' => 'showAllVersions', 'label' => $this->translate('showAllVersions') . ' ' . $this->request->getArgument('extensionKey') ]; } } $uriBuilder = $this->objectManager->get(UriBuilder::class); $uriBuilder->setRequest($this->request); $menu = $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->makeMenu(); $menu->setIdentifier('ExtensionManagerModuleMenu'); foreach ($menuItems as $menuItemConfig) { if ($this->request->getControllerName() === $menuItemConfig['controller']) { $isActive = $this->request->getControllerActionName() === $menuItemConfig['action'] ? true : false; } else { $isActive = false; } $menuItem = $menu->makeMenuItem() ->setTitle($menuItemConfig['label']) ->setHref($this->getHref($menuItemConfig['controller'], $menuItemConfig['action'])) ->setActive($isActive); $menu->addMenuItem($menuItem); } $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu); $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue()); } /** * Creates te URI for a backend action * * @param string $controller * @param string $action * @param array $parameters * @return string */ protected function getHref($controller, $action, $parameters = []) { $uriBuilder = $this->objectManager->get(UriBuilder::class); $uriBuilder->setRequest($this->request); return $uriBuilder->reset()->uriFor($action, $parameters, $controller); } }