PageContentPreviewRenderingEvent¶
New in version 12.0: This event has been introduced which serves as a drop-in replacement for the removed
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']
hook.
Use the PSR-14 event
\TYPO3\CMS\Backend\View\Event\PageContentPreviewRenderingEvent
to ship an alternative rendering for a specific content type or
to manipulate the record data of a content element.
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 class MyEventListener
{
public function __invoke(PageContentPreviewRenderingEvent $event): void
{
if ($event->getTable() !== 'tt_content') {
return;
}
if ($event->getRecord()['CType'] === 'example_ctype') {
$event->setPreviewContent('<div>...</div>');
}
}
}
New in version 13.0: The PHP attribute \TYPO3\CMS\Core\Attribute\AsEventListener
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.
API¶
- class TYPO3\CMS\Backend\View\Event\PageContentPreviewRenderingEvent¶
Use this Event to have a custom preview for a content type in the Page Module
- getTable()¶
- Return type
string
- getRecord()¶
- Return type
array
- setRecord(array $record)¶
- Parameters
$record (
array
) -- the record
- getPageLayoutContext()¶
- Return type
TYPO3\CMS\Backend\View\PageLayoutContext
- getPreviewContent()¶
- Return type
string
- setPreviewContent(string $content)¶
- Parameters
$content (
string
) -- the content
- isPropagationStopped()¶
- Return type
bool