TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _deprecation-109529-1775733107:
|
||||
|
||||
==========================================================
|
||||
Deprecation: #109529 - Page module section markup events
|
||||
==========================================================
|
||||
|
||||
See :issue:`109529`
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
The PSR-14 events that allow listeners to inject HTML before or after
|
||||
content elements have been rendered inside a backend layout column have been
|
||||
deprecated and will be removed in TYPO3 v15.0:
|
||||
|
||||
* :php:`\TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent`
|
||||
* :php:`\TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent`
|
||||
* :php:`\TYPO3\CMS\Backend\View\Event\AbstractSectionMarkupGeneratedEvent`
|
||||
|
||||
The accompanying methods :php:`GridColumn::getBeforeSectionMarkup()` and
|
||||
:php:`GridColumn::getAfterSectionMarkup()` have also been deprecated.
|
||||
|
||||
These events were introduced in TYPO3 v10.3 alongside the legacy
|
||||
:php:`PageLayoutView` 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,
|
||||
:php:`PageLayoutViewDrawEmptyColposContent`, has been removed. Its job —
|
||||
showing a placeholder block for backend layout cells that do not have a
|
||||
configured :php:`colPos` — is now performed in the Fluid template
|
||||
:file:`PageLayout/Grid/Column.fluid.html` via an :php:`{column.unassigned}`
|
||||
condition. No extension action is required for this case.
|
||||
|
||||
Impact
|
||||
======
|
||||
|
||||
Calling
|
||||
:php:`\TYPO3\CMS\Backend\View\Event\AbstractSectionMarkupGeneratedEvent::setContent()`
|
||||
from a listener will trigger a deprecation-level log entry. The classes and the
|
||||
two :php:`GridColumn` getters will be removed in TYPO3 v15.0.
|
||||
|
||||
Existing listeners will keep functioning in TYPO3 v14: the dispatch sites
|
||||
in :php:`GridColumn` still fire the events and the Fluid partials still
|
||||
render the resulting :php:`{column.beforeSectionMarkup}` and
|
||||
:php:`{column.afterSectionMarkup}` strings.
|
||||
|
||||
Affected installations
|
||||
======================
|
||||
|
||||
Instances and extensions that register a PSR-14 listener on
|
||||
:php-short:`\TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent` or
|
||||
:php-short:`\TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent`, or that call
|
||||
:php:`GridColumn::getBeforeSectionMarkup()` /
|
||||
:php:`GridColumn::getAfterSectionMarkup()`.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
There is no direct replacement. Listeners that decorated backend layout
|
||||
columns through these events should be removed.
|
||||
|
||||
.. index:: Backend, PHP-API, NotScanned, ext:backend
|
||||
Reference in New Issue
Block a user