2 namespace TYPO3\CMS\Fluid\Core\Widget;
51 public function run($content, $configuration)
53 $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class);
54 $this->initializeConfiguration($configuration);
56 $ajaxWidgetContextHolder = $this->objectManager->get(\TYPO3\CMS\
Fluid\Core\Widget\AjaxWidgetContextHolder::class);
57 $widgetIdentifier = \TYPO3\CMS\Core\Utility\GeneralUtility::_GET(
'fluid-widget-id');
58 $widgetContext = $ajaxWidgetContextHolder->get($widgetIdentifier);
59 $configuration[
'extensionName'] = $widgetContext->getParentExtensionName();
60 $configuration[
'pluginName'] = $widgetContext->getParentPluginName();
61 $extbaseBootstrap = $this->objectManager->get(\TYPO3\CMS\Extbase\Core\Bootstrap::class);
63 return $extbaseBootstrap->run($content, $configuration);
73 public function initializeConfiguration($configuration)
75 $this->configurationManager = $this->objectManager->get(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::class);
77 $contentObject = isset($this->cObj) ? $this->cObj : \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::class);
78 $this->configurationManager->setContentObject($contentObject);
79 $this->configurationManager->setConfiguration($configuration);
92 $typoScriptSetup = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
93 if (!is_array($typoScriptSetup[
'config.'][
'tx_extbase.'][
'objects.'])) {
96 $objectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class);
97 foreach ($typoScriptSetup[
'config.'][
'tx_extbase.'][
'objects.'] as $classNameWithDot => $classConfiguration) {
98 if (isset($classConfiguration[
'className'])) {
99 $originalClassName = rtrim($classNameWithDot,
'.');
100 $objectContainer->registerImplementation($originalClassName, $classConfiguration[
'className']);