ModifyLinkHandlersEvent

New in version 12.0: This event has been introduced together with ModifyAllowedItemsEvent to serve as a direct replacement for the following removed hook:

  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['LinkBrowser']['hooks']

It replaces the method modifyLinkHandlers() in this hook.

The event is triggered before link handlers are executed, allowing listeners to modify the set of handlers that will be used.

Example

Registration of the event in your extension's Services.yaml:

EXT:my_extension/Configuration/Services.yaml
Vendor\MyExtension\Backend\MyEventListener:
    tags:
        - name: event.listener
          identifier: 'my-extension/backend/link-handlers'

The corresponding event listener class:

EXT:my_extension/Classes/Backend/MyEventListener.php
use TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent;

final class MyEventListener
{
    public function __invoke(ModifyLinkHandlersEvent $event): void
    {
        $handler = $event->getHandler('url.');
        $handler['label'] = 'My custom label';
        $event->setHandler('url.', $handler);
    }
}

API

class TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent

This event allows extensions to modify the list of link handlers and their configuration before they are invoked.

getLinkHandlers()
Return type

array

getLinkHandler(string $name)

Gets an individual handler by name.

Parameters
  • $name (string) -- The handler name, including trailing period.

Return type

array

Returns

The handler definition, or null if not defined.

setLinkHandler(string $name, array $handler)

Sets a handler by name, overwriting it if it already exists.

Parameters
  • $name (string) -- The handler name, including trailing period.

  • $handler (array) -- the handler

Return type

self

getCurrentLinkParts()
Return type

array