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 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 \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 ( )
returntype

array

Returns:

array<string,array>

getLinkHandler ( string $name)

Gets an individual handler by name.

param string $name

The handler name, including trailing period.

returntype

array

Returns:

array<string,mixed>|null The handler definition, or null if not defined.

setLinkHandler ( string $name, array $handler)

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

param string $name

The handler name, including trailing period.

param array $handler

the handler

returntype

self

Returns:

$this

getCurrentLinkParts ( )
returntype

array

Returns:

array<string,mixed>