Feature: #109087 - Introduce BeforeBackendPageRenderEvent for BackendController
See forge#109087
Description
A new PSR-14 event
\TYPO3\
has been introduced. It is dispatched in
Backend
before the main backend page is rendered. It provides access to:
$view(View) – assign template variables to the backend top frame viewInterface $java(Script Renderer Java) – add custom JavaScript modules to the backend top frameScript Renderer $page(Renderer Page) – add assets such as CSS files (markedRenderer @internal)
Example
EXT:my_extension/Classes/EventListener/BeforeBackendPageRenderEventListener.php
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\EventListener;
use TYPO3\CMS\Backend\Controller\Event\BeforeBackendPageRenderEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
#[AsEventListener(identifier: 'my-extension/before-backend-page-render')]
final class BeforeBackendPageRenderEventListener
{
public function __invoke(BeforeBackendPageRenderEvent $event): void
{
$event->javaScriptRenderer->addJavaScriptModuleInstruction(
JavaScriptModuleInstruction::create(
'@my-vendor/my-extension/backend-module.js'
)
);
}
}
Copied!
Impact
It is now possible to add custom JavaScript modules and other assets to the
TYPO3 backend top frame using the new PSR-14 event
\TYPO3\.