예제 #1
0
 /**
  * Allows the widget template root path to be overriden via the framework configuration,
  * e.g. plugin.tx_extension.view.widget.<WidgetViewHelperClassName>.templateRootPath
  *
  * @param \TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view
  * @return void
  */
 protected function setViewConfiguration(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view)
 {
     $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
     $widgetViewHelperClassName = $this->request->getWidgetContext()->getWidgetViewHelperClassName();
     $templatePaths = new TemplatePaths($this->controllerContext->getRequest()->getControllerExtensionKey());
     $widgetViewConfiguration = null;
     $parentConfiguration = $view->getTemplatePaths()->toArray();
     $rootConfiguration = $templatePaths->toArray();
     if (!isset($extbaseFrameworkConfiguration['view']['widget'][$widgetViewHelperClassName])) {
         $widgetViewConfiguration = array_merge_recursive($parentConfiguration, $rootConfiguration);
     } else {
         $widgetViewConfiguration = array_merge_recursive((array) $rootConfiguration, (array) $parentConfiguration, (array) $extbaseFrameworkConfiguration['view']['widget'][$widgetViewHelperClassName]);
     }
     $view->getTemplatePaths()->fillFromConfigurationArray($widgetViewConfiguration);
 }