AddUserSettingsJavaScriptModulesEvent
Changed in version 14.3
This event was moved from
\TYPO3\
as the system extension setup was integrated into
typo3/cms-backend
.
JavaScript events in custom user settings configuration options should not be placed as inline JavaScript. Instead, use a dedicated JavaScript module to handle custom events.
Example
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\UserSettings\EventListener;
use TYPO3\CMS\Backend\Event\AddUserSettingsJavaScriptModulesEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
#[AsEventListener(
identifier: 'my-extension/my-event-listener',
)]
final readonly class MyEventListener
{
public function __invoke(AddUserSettingsJavaScriptModulesEvent $event): void
{
$event->addJavaScriptModule('@my-extension/setupModule/some-file.js');
}
}
API
- class AddUserSettingsJavaScriptModulesEvent
-
- Fully qualified name
-
\TYPO3\
CMS\ Backend\ Event\ Add User Settings Java Script Modules Event
Collects additional JavaScript modules to be loaded in SetupModuleController (User Settings).
Replacement for prior TYPO3CMSSetupEventAddJavaScriptModulesEvent.
Migration from AddJavaScriptModulesEvent to AddUserSettingsJavaScriptModulesEvent
When dropping TYPO3 v13 support, switch to using the new location of the event:
+ use TYPO3\CMS\Backend\Event\AddUserSettingsJavaScriptModulesEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
- use TYPO3\CMS\Setup\Event\AddJavaScriptModulesEvent;
final class SetupModuleListener
{
#[AsEventListener('my-extension/setup-module-listener')]
- public function __invoke(AddJavaScriptModulesEvent $event): void
+ public function __invoke(AddUserSettingsJavaScriptModulesEvent $event): void
{
$event->addJavaScriptModule('@my-extension/setupModule/some-file.js');
}
}
If you need to support TYPO3 v13 and v14 only listen to the legacy event
\TYPO3\.
For better dual version compatibility, no deprecation is emitted when using the legacy event location.