From 2dc021c292cf9d5220b26c06e7a97332c4653923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20DANIEL?= Date: Tue, 6 May 2025 19:43:06 +0200 Subject: [PATCH] [BUGFIX] Properly load TSFE and TypoScript within ExtbaseBridge Fixes #30 --- src/Middleware/ExtbaseBridge.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Middleware/ExtbaseBridge.php b/src/Middleware/ExtbaseBridge.php index c7c38fd..992204b 100644 --- a/src/Middleware/ExtbaseBridge.php +++ b/src/Middleware/ExtbaseBridge.php @@ -58,6 +58,7 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface protected function createGlobalTsfe(Site $site, ServerRequestInterface $request): ServerRequestInterface { if (version_compare($this->typo3Version, '11.5', '>=')) { + // Mimic \TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization $controller = GeneralUtility::makeInstance( TypoScriptFrontendController::class, $this->context, @@ -92,16 +93,21 @@ protected function createGlobalTsfe(Site $site, ServerRequestInterface $request) protected function bootFrontend(ServerRequestInterface $request): ServerRequestInterface { if (version_compare($this->typo3Version, '12.2', '>=')) { - // Run Frontend TypoScript + // Mimic \TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering $request = $GLOBALS['TSFE']->getFromCache($request); + $GLOBALS['TSFE']->releaseLocks(); } elseif (version_compare($this->typo3Version, '11.5', '>=')) { - // nothing to do, TSFE is already ready + // Mimic \TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering + $GLOBALS['TSFE']->getFromCache($request); + $GLOBALS['TSFE']->getConfigArray($request); + $GLOBALS['TSFE']->releaseLocks(); } else { $GLOBALS['TSFE']->fetch_the_id($request); $GLOBALS['TSFE']->getConfigArray($request); $GLOBALS['TSFE']->settingLanguage($request); $GLOBALS['TSFE']->newCObj(); } + return $request; }