TYPO3 Logo
TYPO3 Core Changelog
Options
Give feedback View source How to edit Edit on GitHub Full documentation (single file)

TYPO3 Core Changelog

  • ChangeLog v14
    • 14.0 Changes
    • 14.x Changes by type
  • ChangeLog v13
    • 13.4.x Changes
    • 13.4 Changes
    • 13.3 Changes
    • 13.2 Changes
    • 13.1 Changes
    • 13.0 Changes
    • 13.x Changes by type
  • ChangeLog v12
    • 12.4.x Changes
    • 12.4 Changes
    • 12.3 Changes
    • 12.2 Changes
    • 12.1 Changes
    • 12.0 Changes
    • 12.x Changes by type
  • ChangeLog v11
    • 11.5.x Changes
    • 11.5 Changes
    • 11.4 Changes
    • 11.3 Changes
    • 11.2 Changes
    • 11.1 Changes
    • 11.0 Changes
    • 11.x Changes by type
  • ChangeLog v10
    • 10.4.x Changes
    • 10.4 Changes
    • 10.3 Changes
    • 10.2 Changes
    • 10.1 Changes
    • 10.0 Changes
    • 10.x Changes by type
  • ChangeLog v9
    • 9.5.x Changes
    • 9.5 Changes
    • 9.4 Changes
    • 9.3 Changes
    • 9.2 Changes
    • 9.1 Changes
    • 9.0 Changes
    • 9.x Changes by type
  • ChangeLog v8
    • 8.7.x Changes
    • 8.7 Changes
    • 8.6 Changes
    • 8.5 Changes
    • 8.4 Changes
    • 8.3 Changes
    • 8.2 Changes
    • 8.1 Changes
    • 8.0 Changes
    • 8.x Changes by type
  • ChangeLog v7
    • 7.6.x Changes
    • 7.6 Changes
    • 7.5 Changes
    • 7.4 Changes
    • 7.3 Changes
    • 7.2 Changes
    • 7.1 Changes
    • 7.0 Changes
    • 7.x Changes by type
  • Documenting Changes
  • Sitemap
  1. TYPO3 Core Changelog
  2. ChangeLog v12
  3. 12.0 Changes
  4. Breaking: #97862 - Hooks related to generating page content removed
Give feedback Edit on GitHub

Breaking: #97862 - Hooks related to generating page content removed

See forge#97862

Description

The existing TYPO3 hooks in the process of generating a TYPO3 Frontend page

  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-cached']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['usePageCache']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['insertPageIncache']

have been removed. These hooks have been used to execute custom PHP code after a page is generated in the TYPO3 frontend and ready to be stored in cache.

Due to the removal of the hooks and the introduction of the new PSR-14 events the method signature of TypoScriptFrontendController->generatePage_postProcessing() has been changed. The method now requires a ServerRequestInterface as first argument.

Impact

Extension code that hooks into these places will not be executed anymore in TYPO3 v12+.

Extension code calling TypoScriptFrontendController->generatePage_postProcessing() without providing a ServerRequestInterface as first argument will trigger a PHP ArgumentCountError.

Affected installations

TYPO3 installations with custom extensions using these hooks such as static file generation or modifying the page content cache, which is highly likely in third-party extensions. The extension scanner will detect usages as strong match.

Extensions, manually calling TypoScriptFrontendController->generatePage_postProcessing() without providing a ServerRequestInterface as first argument. The extension scanner will detect usages as weak match.

Migration

Use one of the two newly introduced PSR-14 events:

  • \TYPO3\CMS\Frontend\Event\AfterCacheableContentIsGeneratedEvent
  • \TYPO3\CMS\Frontend\Event\AfterCachedPageIsPersistedEvent

Extensions using the hooks can be made compatible with TYPO3 v11 and TYPO3 v12 by registering a PSR-14-based event listener while keeping the legacy hook in place.

The AfterCacheableContentIsGeneratedEvent acts as a replacement for

  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-cached']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['usePageCache']

whereas the AfterCachedPageIsPersistedEvent is the replacement for

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['insertPageIncache'] .

Provide a ServerRequestInterface as first argument when calling TypoScriptFrontendController->generatePage_postProcessing() in custom extension code.

  • Previous
  • Next
Reference to the headline

Copy and freely share the link

This link target has no permanent anchor assigned. You can make a pull request on GitHub to suggest an anchor. The link below can be used, but is prone to change if the page gets moved.

Copy this link into your TYPO3 manual.

  • Home
  • Contact
  • Issues
  • Repository

Last rendered: Jun 12, 2025 16:14

© since 1997 by the TYPO3 contributors
  • Legal Notice
  • Privacy Policy