---
title: "Feature: #97737 - New PSR-14 events when Page + Rootline in Frontend is resolved"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-97737-1654595148"
source: "Changelog/12.0/Feature-97737-PSR-14EventsWhenPageRootlineInFrontendIsResolved.rst"
typo3-version: "12.0"
typo3-major: 12
type: "feature"
issue: 97737
forge: "https://forge.typo3.org/issues/97737"
tags: ["Frontend", "ext:frontend"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Feature: #97737 - New PSR-14 events when Page + Rootline in Frontend is resolved {#feature-97737-1654595148}

See [forge#97737](https://forge.typo3.org/issues/97737)

## Description {#description}

Three new PSR-14 events have been added in the process when the main class
`TypoScriptFrontendController` is resolving a page and its rootline,
based on the incoming request.

-   `BeforePageIsResolvedEvent`
-   `AfterPageWithRootLineIsResolvedEvent`
-   `AfterPageAndLanguageIsResolvedEvent`

All events receive the incoming PSR-7 Request object, and the
`TypoScriptFrontendController` object.

In addition, the latter two events allow event listeners to define a custom
PSR-7 Response for custom permission layers, and interrupting further processing
of a page.

These events serve as a replacement for the previously available hooks:

-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PreProcessing']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['fetchPageId-PostProcessing']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_preProcess']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PostProc']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_postProcess']`

## Impact {#impact}

Please note that TypoScript hasn't been resolved at the time of firing the
events, as this is done in the next step of the Frontend request.
