From 0e8d0a621e651ce143f082f9bd18541f15773b27 Mon Sep 17 00:00:00 2001 From: Christian Kuhn Date: Tue, 7 Oct 2025 14:49:11 +0200 Subject: [PATCH 1/2] [TASK] Use register attribute in Collector TYPO3 v14 remodels TypoScript 'register' handling. The patch adds this to the FE testing related Collector class with a fallback layer for earlier TYPO3 versions. Related: https://forge.typo3.org/issues/107625 --- .../Core/Functional/Framework/Frontend/Collector.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Classes/Core/Functional/Framework/Frontend/Collector.php b/Classes/Core/Functional/Framework/Frontend/Collector.php index 02670b18..5f5fcc2e 100644 --- a/Classes/Core/Functional/Framework/Frontend/Collector.php +++ b/Classes/Core/Functional/Framework/Frontend/Collector.php @@ -142,12 +142,14 @@ private function getTableFields(string $tableName, ServerRequestInterface $reque private function getCurrentWatcherValue(ServerRequestInterface $request): ?string { - $watcherValue = null; - $tsfe = $request->getAttribute('frontend.controller'); - if (isset($tsfe->register['watcher'])) { - $watcherValue = $tsfe->register['watcher']; + $registerStack = $request->getAttribute('frontend.register.stack'); + if ($registerStack !== null) { + return $registerStack->peek()->get('watcher'); + } else { + // @deprecated: TYPO3 getAttribute('frontend.controller'); + return $tsfe->register['watcher'] ?? null; } - return $watcherValue; } private function getRenderer(): Renderer From 5701cc7150b33e57dc8b9da4b7af4af623363b1e Mon Sep 17 00:00:00 2001 From: Christian Kuhn Date: Wed, 8 Oct 2025 12:42:56 +0200 Subject: [PATCH 2/2] [TASK] Rename peek() to current() --- Classes/Core/Functional/Framework/Frontend/Collector.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Classes/Core/Functional/Framework/Frontend/Collector.php b/Classes/Core/Functional/Framework/Frontend/Collector.php index 5f5fcc2e..fc3493e8 100644 --- a/Classes/Core/Functional/Framework/Frontend/Collector.php +++ b/Classes/Core/Functional/Framework/Frontend/Collector.php @@ -144,12 +144,11 @@ private function getCurrentWatcherValue(ServerRequestInterface $request): ?strin { $registerStack = $request->getAttribute('frontend.register.stack'); if ($registerStack !== null) { - return $registerStack->peek()->get('watcher'); - } else { - // @deprecated: TYPO3 getAttribute('frontend.controller'); - return $tsfe->register['watcher'] ?? null; + return $registerStack->current()->get('watcher'); } + // @deprecated: TYPO3 getAttribute('frontend.controller'); + return $tsfe->register['watcher'] ?? null; } private function getRenderer(): Renderer