Deprecation: #109529 - Page module section markup events
See forge#109529
Description
The PSR-14 events that allow listeners to inject HTML before or after the content elements rendered inside a backend layout column have been deprecated and will be removed in TYPO3 v15.0:
\TYPO3\CMS\ Backend\ View\ Event\ Before Section Markup Generated Event \TYPO3\CMS\ Backend\ View\ Event\ After Section Markup Generated Event \TYPO3\CMS\ Backend\ View\ Event\ Abstract Section Markup Generated Event
The accompanying methods
Grid and
Grid have likewise been deprecated.
These events were introduced in TYPO3 v10.3 alongside the legacy
Page class to enrich backend layout columns with custom
markup. They expose raw HTML strings as a column-level extension point
and force every refactoring of the page module to keep emitting that
markup at exactly the same position in the DOM. This makes it impossible
to keep them stable across versions while improving the page module:
ongoing work to rebuild the page module and its drag, drop and paste
behavior cannot proceed without locking the column's internal structure
to whatever the events happened to assume. Removing the events is a
prerequisite for that work.
The only listener that still consumed the event in the core,
Page, has been removed. Its job —
showing a placeholder block for backend layout cells that have no
col configured — is now performed directly in the Fluid template
Page via an
{column.
condition. No extension action is required for this case.
Impact
Calling
Abstract from a
listener will trigger a deprecation-level log entry. The classes and the
two
Grid getters will be removed in TYPO3 v15.0.
Existing listeners will keep functioning in TYPO3 v14: the dispatch sites
in
Grid still fire the events and the Fluid partials still
render the resulting
{column. and
{column. strings.
Affected installations
Instances or extensions that register a PSR-14 listener on
Before or
After, or that call
Grid /
Grid directly, are affected.
Migration
There is no direct replacement. Listeners that decorated backend layout columns through these events should be removed.