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¶
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Backend\EventListener;
use TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
#[AsEventListener(
identifier: 'my-extension/backend/link-handlers'
)]
final class MyEventListener
{
public function __invoke(ModifyLinkHandlersEvent $event): void
{
$handler = $event->getLinkHandler('url.');
$handler['label'] = 'My custom label';
$event->setLinkHandler('url.', $handler);
}
}
New in version 13.0: The PHP attribute \TYPO3\CMS\Core\Attribute\AsEventListener
has been
introduced to tag a PHP class as an event listener. Alternatively, or if you
need to be compatible with older TYPO3 versions, you can also register an
event listener via the Configuration/Services.yaml
file. Switch to
an older version of this page for an example or have a look at the section
Implementing an event listener in your extension.
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
- Returns
array<string,array>
- getLinkHandler(string $name)¶
Gets an individual handler by name.
- Parameters
$name (
string
) -- The handler name, including trailing period.
- Return type
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.
- Parameters
$name (
string
) -- The handler name, including trailing period.$handler (
array
) -- the handler
- Return type
self
- Returns
$this
- getCurrentLinkParts()¶
- Return type
array
- Returns
array<string,mixed>