---
title: "Feature: #97451 - PSR-14 events for modifying backend page content"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-97451"
source: "Changelog/12.0/Feature-97451-PSR-14EventsForBackendPageController.rst"
typo3-version: "12.0"
typo3-major: 12
type: "feature"
issue: 97451
forge: "https://forge.typo3.org/issues/97451"
tags: ["Backend", "PHP-API", "ext:backend"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Feature: #97451 - PSR-14 events for modifying backend page content {#feature-97451}

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

## Description {#description}

A new PSR-14 event `\TYPO3\CMS\Backend\Controller\Event\AfterBackendPageRenderEvent` has
been introduced which serves as a direct replacement for the now removed
`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/backend.php']['constructPostProcess']`,
`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/backend.php']['renderPreProcess']`, and
`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/backend.php']['renderPostProcess']`
[hooks](https://docs.typo3.org/permalink/changelog:breaking-97451).

The new event triggers after the page is rendered and includes
the rendered page body. Listeners may overwrite the page string if desired.

## Example {#example}

Registration of the event in your extension's `Services.yaml`:

```yaml
MyVendor\MyPackage\MyEventListener:
  tags:
    - name: event.listener
      identifier: 'my-package/backend/after-backend-controller-render'
```

The corresponding event listener class:

```php
use TYPO3\CMS\Backend\Controller\Event\AfterBackendPageRenderEvent;

final class MyEventListener
{
    public function __invoke(AfterBackendPageRenderEvent $event): void
    {
        $content = $event->getContent() . ' I was here';
        $event->setContent($content);
    }
}
```

## Impact {#impact}

It's now possible to modify the backend page using the new PSR-14 event `AfterBackendPageRenderEvent`.
