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 readonly 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 ( ) ¶
-
- 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>