Page-Type im Extbase Controller verwenden

Den TYPO3 Page-Type "TypeNum" im Extbase-Controller auslesen.

07.03.2024 - Manuel Wohlers

Was früher[TM] mit Auslesen des `$_GET['type']` bewerkstelligt wurde, geht in neueren TYPO3-Versionen nicht mehr. Der Page-Type wird nicht mehr als GET-Parameter bereitgestellt.

Der als `typeNum` definierte Wert kann aber immer noch ausgelesen werden, und zwar aus den Routing-Informationen.

Im konkreten Fall ging es um zwei RSS-Feeds, die abgesehen von den angezeigten Angeboten identisch waren; es sollte also eine einzige Controller-Action je nach Page-Type in unterschiedlichen Ausprägungen ausgegeben werden.

Hier der entscheidende Teil aus dem Extbase-Controller:

public function offerListAction(): ResponseInterface {
-     $isReducedList = GeneralUtility::_GET('type') == 3311;
+     $isReducedList = $this->request->getAttribute('routing')->getPageType() == 3311;
        ...
}