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
:
MyVendor\MyExtension\Backend\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/backend/link-handlers'
The corresponding event listener class:
<?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);
}
}
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