Feature: #107569 - PSR-14 Event before renderable is rendered
See forge#107569
Description
A new PSR-14 event
\TYPO3\
has been introduced which serves as an replacement for the now
removed hook
$GLOBALS
.
The new event is dispatched just right before a renderable is rendered.
The event provides the following public properties:
$renderable
: The form element$form
: The form runtimeRuntime
Example
An example event listener could look like:
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Form\Event\BeforeRenderableIsRenderedEvent;
class MyEventListener {
#[AsEventListener(
identifier: 'my-extension/before-renderable-is-rendered',
)]
public function __invoke(BeforeRenderableIsRenderedEvent $event): void
{
$renderable = $event->renderable;
if ($renderable->getType() !== 'Date') {
return;
}
$date = $event->formRuntime[$renderable->getIdentifier()];
if ($date instanceof \DateTime) {
$event->formRuntime[$renderable->getIdentifier()] = $date->format('Y-m-d');
}
}
}
Copied!
Impact
With the new PSR-14
Before
, it's now
possible to modify the renderable before it's rendered or modify the form runtime.