BeforeModuleCreationEvent

The PSR-14 event \TYPO3\CMS\Backend\Module\BeforeModuleCreationEvent allows extension authors to manipulate the module configuration, before it is used to create and register the module.

Example

EXT:my_extension/Classes/Backend/EventListener/MyEventListener.php
<?php

declare(strict_types=1);

namespace MyVendor\MyExtension\Backend\EventListener;

use TYPO3\CMS\Backend\Module\BeforeModuleCreationEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;

#[AsEventListener(
    identifier: 'my-extension/backend/modify-module-icon'
)]
final class MyEventListener
{
    public function __invoke(BeforeModuleCreationEvent $event): void
    {
        // Change module icon of page module
        if ($event->getIdentifier() === 'web_layout') {
            $event->setConfigurationValue('iconIdentifier', 'my-custom-icon-identifier');
        }
    }
}

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\Module\BeforeModuleCreationEvent

Listeners can adjust the module configuration before the module gets created and registered

getIdentifier()
Return type

string

getConfiguration()
Return type

array

setConfiguration(array $configuration)
Parameters
  • $configuration (array) -- the configuration

hasConfigurationValue(string $key)
Parameters
  • $key (string) -- the key

Return type

bool

getConfigurationValue(string $key, mixed $default = NULL)
Parameters
  • $key (string) -- the key

  • $default (mixed) -- the default, default: NULL

Return type

mixed

setConfigurationValue(string $key, mixed $value)
Parameters
  • $key (string) -- the key

  • $value (mixed) -- the value