ModifyLinkHandlersEvent

New in version 12.0

The PSR-14 event \TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent is triggered before link handlers are executed, allowing listeners to modify the set of handlers that will be used.

Example

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

EXT:my_extension/Configuration/Services.yaml
services:
  # Place here the default dependency injection configuration

  MyVendor\MyExtension\Backend\EventListener\MyEventListener:
    tags:
      - name: event.listener
        identifier: 'my-extension/backend/link-handlers'
Copied!

Read how to configure dependency injection in extensions.

The corresponding event listener class:

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

declare(strict_types=1);

namespace MyVendor\MyExtension\Backend\EventListener;

use TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent;

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

API

class ModifyLinkHandlersEvent
Fully qualified name
\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 ( )
Returns
array<string,array>
getLinkHandler ( string $name)

Gets an individual handler by name.

param $name

The handler name, including trailing period.

Return description

The handler definition, or null if not defined.

Returns
array<string,mixed>|null
setLinkHandler ( string $name, array $handler)

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

param $name

The handler name, including trailing period.

param $handler

the handler

Returns
$this
getCurrentLinkParts ( )
Returns
array<string,mixed>