packageManager = $packageManager; } /** * Set up the doc header properly here * * @param ViewInterface $view */ protected function initializeView(ViewInterface $view) { if ($view instanceof BackendTemplateView) { /** @var BackendTemplateView $view */ parent::initializeView($view); $this->generateMenu(); $this->registerDocheaderButtons(); } } /** * Shows information about the distribution * * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension */ public function showAction(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension) { $extensionKey = $extension->getExtensionKey(); // Check if extension/package is installed $active = $this->packageManager->isPackageActive($extensionKey); $this->view->assign('distributionActive', $active); $this->view->assign('extension', $extension); } /** * Registers the Icons into the docheader * * @throws \InvalidArgumentException */ protected function registerDocheaderButtons() { /** @var ButtonBar $buttonBar */ $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar(); $uriBuilder = $this->controllerContext->getUriBuilder(); $uri = $uriBuilder->reset()->uriFor('distributions', [], 'List'); $title = $this->translate('extConfTemplate.backToList'); $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-view-go-back', Icon::SIZE_SMALL); $button = $buttonBar->makeLinkButton() ->setHref($uri) ->setTitle($title) ->setIcon($icon); $buttonBar->addButton($button, ButtonBar::BUTTON_POSITION_LEFT); } }