PageContentPreviewRenderingEvent
Use the PSR-14 event
\TYPO3\
to ship an alternative rendering for a specific content type or
to manipulate the record data of a content element.
Changed in version 14.0
Page now returns a
Record object instead of an array,
Page has been adjusted
accordingly.
Example
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Backend\EventListener;
use TYPO3\CMS\Backend\View\Event\PageContentPreviewRenderingEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
#[AsEventListener(
identifier: 'my-extension/preview-rendering-example-ctype',
)]
final readonly class MyEventListener
{
public function __invoke(PageContentPreviewRenderingEvent $event): void
{
if ($event->getRecord()->getFullType() !== 'tt_content.example_ctype') {
return;
}
if ($event->getRecord()->has('header')) {
$header = $event->getRecord()->get('header');
$event->setPreviewContent(
sprintf('<h1>%s</h1></h1><div>...</div>', $header),
);
}
}
}
New in version 13.0
The PHP attribute
\TYPO3\ has been
introduced to tag a PHP class as an event listener. Alternatively, or if you
need to be compatible with older TYPO3 versions, you can also register an
event listener via the Configuration/Services.yaml file. Switch to
an older version of this page for an example or have a look at the section
Implementing an event listener in your extension.