/** * Merges the TYPO3.Ice settings with the current settings before calling the render() method * * @return string */ public function initializeArgumentsAndRender() { $settings = $this->configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Ice'); if ($this->controllerContext->getRequest()->getControllerPackageKey() !== 'TYPO3.Ice') { $packageSettings = $this->configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, $this->controllerContext->getRequest()->getControllerPackageKey()); if (!empty($packageSettings['extendIceSettings'])) { $settings = \TYPO3\Flow\Utility\Arrays::arrayMergeRecursiveOverrule($settings, $packageSettings); } else { $settings = $packageSettings; } } if (isset($settings['projectElementTypes'])) { $supertypeResolver = new \TYPO3\Ice\Utility\SupertypeResolver($settings['projectElementTypes']); $settings['projectElementTypes'] = $supertypeResolver->getCompleteMergedTypeDefinition(TRUE); } $this->settings = $settings; return parent::initializeArgumentsAndRender(); }