ModifyInfoModuleContentEvent

New in version 12.0: This event has been introduced as a more powerful and flexible alternative to $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/web_info/class.tx_cms_webinfo.php']['drawFooterHook'] which has now been removed.

This event allows the content above and below the info module to be modified. The content added in the event is displayed in each submodule of Web > Info.

The event also provides the getCurrentModule() method, which returns the current requested submodule. It is therefore possible to limit the added content to a subset of the available submodules.

Next to getRequest() and the getModuleTemplate() methods this event also features getters and setters for the header and footer content.

Access control

The added content is by default always displayed. This event provides the hasAccess() method, returning whether the access checks in the module were passed by the user.

This way, event listeners can decide on their own, whether their content should always be shown, or only if a user also has access to the main module content.

Example

Registration of the Event in your extension’s Configuration/Services.yaml:

EXT:my_extension/Configuration/Services.yaml
MyVendor\MyPackage\Backend\MyEventListener:
 tags:
   - name: event.listener
     identifier: 'my-package/backend/content-to-info-module'

The corresponding event listener class:

EXT:my_extension/Classes/EventListener/MyEventListener.php
use TYPO3\CMS\Info\Controller\Event\ModifyInfoModuleContentEvent;

class MyEventListener {

  public function __invoke(ModifyInfoModuleContentEvent $event): void
  {
      // Add header content for the "Page TSconfig" submodule if user has access to module content
      if ($event->hasAccess() && $event->getCurrentModule()->getIdentifier() === 'web_info_pagets') {
          $event->addHeaderContent('<h3>Additional header content</h3>');
      }
  }
}

API

class TYPO3\CMS\Info\Controller\Event\ModifyInfoModuleContentEvent

Listeners to this Event will be able to modify the header and footer content of the info module

hasAccess()

Whether the current user has access to the main content of the info module.

IMPORTANT: This is only for informational purposes. Listeners can therefore decide on their own if their content should be added to the module even if the user does not have access to the main module content.

Return type:bool
getRequest()
Return type:Psr\Http\Message\ServerRequestInterface
getCurrentModule()
Return type:TYPO3\CMS\Backend\Module\ModuleInterface
getModuleTemplate()
Return type:TYPO3\CMS\Backend\Template\ModuleTemplate
setHeaderContent(string content)

Set content for the header. Can also be used to e.g. reorder existing content.

IMPORTANT: This overwrites existing content from previous listeners!

Parameters:
  • $content (string) – the content
addHeaderContent(string content)

Add additional content to the header

Parameters:
  • $content (string) – the content
getHeaderContent()
Return type:string
setFooterContent(string content)

Set content for the footer. Can also be used to e.g. reorder existing content.

IMPORTANT: This overwrites existing content from previous listeners!

Parameters:
  • $content (string) – the content
addFooterContent(string content)

Add additional content to the footer

Parameters:
  • $content (string) – the content
getFooterContent()
Return type:string