diff --git a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php index a24ab68586e21528bbdbf13849387197e4d5ceeb..9064417f34adf4d5d5a778002c93a6d9aef27c04 100644 --- a/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php +++ b/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php @@ -43,6 +43,7 @@ use TYPO3\CMS\Core\TimeTracker\TimeTracker; use TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser; use TYPO3\CMS\Core\TypoScript\TemplateService; use TYPO3\CMS\Core\Utility\ArrayUtility; +use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\HttpUtility; use TYPO3\CMS\Core\Utility\MathUtility; @@ -3843,6 +3844,29 @@ class TypoScriptFrontendController implements LoggerAwareInterface if (!is_array($this->pagesTSconfig)) { $TSdataArray = []; foreach ($this->rootLine as $k => $v) { + if (trim($v['tsconfig_includes'])) { + $includeTsConfigFileList = GeneralUtility::trimExplode(',', $v['tsconfig_includes'], true); + // Traversing list + foreach ($includeTsConfigFileList as $key => $includeTsConfigFile) { + if (strpos($includeTsConfigFile, 'EXT:') === 0) { + list($includeTsConfigFileExtensionKey, $includeTsConfigFilename) = explode( + '/', + substr($includeTsConfigFile, 4), + 2 + ); + if ((string)$includeTsConfigFileExtensionKey !== '' + && (string)$includeTsConfigFilename !== '' + && ExtensionManagementUtility::isLoaded($includeTsConfigFileExtensionKey) + ) { + $includeTsConfigFileAndPath = ExtensionManagementUtility::extPath($includeTsConfigFileExtensionKey) + . $includeTsConfigFilename; + if (file_exists($includeTsConfigFileAndPath)) { + $TSdataArray[] = file_get_contents($includeTsConfigFileAndPath); + } + } + } + } + } $TSdataArray[] = $v['TSconfig']; } // Adding the default configuration: