ModifyGenericBackendMessagesEvent

New in version 12.0: This event serves as direct replacement for the now removed hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['displayWarningMessages'].

The PSR-14 event \TYPO3\CMS\Backend\Controller\Event\ModifyGenericBackendMessagesEvent allows to add or alter messages that are displayed in the About module (default start module of the TYPO3 backend).

Extensions such as the EXT:reports system extension use this event to display custom messages based on the system status:

../../../../_images/GenericBackendMessage.png

A generic backend message in the about module

Example

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

declare(strict_types=1);

namespace MyVendor\MyExtension\Backend\EventListener;

use TYPO3\CMS\Backend\Controller\Event\ModifyGenericBackendMessagesEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Core\Messaging\FlashMessage;

#[AsEventListener(
    identifier: 'my-extension/backend/add-message'
)]
final class MyEventListener
{
    public function __invoke(ModifyGenericBackendMessagesEvent $event): void
    {
        // Add a custom message
        $event->addMessage(new FlashMessage('My custom message'));
    }
}

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\Controller\Event\ModifyGenericBackendMessagesEvent

Listeners to this event are able to add or change messages for the "Help > About" module.

getMessages()
Return type

array

addMessage(TYPO3\\CMS\\Core\\Messaging\\AbstractMessage $message)
Parameters
  • $message (TYPO3\CMS\Core\Messaging\AbstractMessage) -- the message

setMessages(array $messages)
Parameters
  • $messages (array) -- the messages