AfterLinkIsGeneratedEvent 

The PSR-14 event \TYPO3\CMS\Frontend\Event\AfterLinkIsGeneratedEvent allows PHP developers to modify any kind of link generated by TYPO3's mighty typolink() functionality.

By using this event, it is possible to add attributes to links to internal pages, or links to files, as the event contains the actual information of the link type with it.

As this event works with the \TYPO3\CMS\Frontend\Typolink\LinkResultInterface object it is possible to modify or replace the LinkResult information instead of working with string replacement functionality for adding, changing or removing attributes.

If a link could not be generated, a \TYPO3\CMS\Frontend\Typolink\UnableToLinkException might be thrown.

Example 

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

declare(strict_types=1);

namespace MyVendor\MyExtension\Frontend\EventListener;

use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Frontend\Event\AfterLinkIsGeneratedEvent;

#[AsEventListener(
    identifier: 'my-extension/link-modifier',
)]
final readonly class MyEventListener
{
    public function __invoke(AfterLinkIsGeneratedEvent $event): void
    {
        $linkResult = $event->getLinkResult()->withAttribute(
            'data-enable-lightbox',
            'true',
        );
        $event->setLinkResult($linkResult);
    }
}
Copied!

API 

class AfterLinkIsGeneratedEvent
Fully qualified name
\TYPO3\CMS\Frontend\Event\AfterLinkIsGeneratedEvent

Generic event to modify any kind of link generation with typolink(). This is processed by all frontend-related links.

If a link could not be generated, a "UnableToLinkException" could be thrown by an Event Listener.

setLinkResult ( \TYPO3\CMS\Frontend\Typolink\LinkResultInterface $linkResult)

Update a link when a part was modified by an Event Listener.

param $linkResult

the linkResult

getLinkResult ( )
Returns
TYPO3CMSFrontendTypolinkLinkResultInterface
getContentObjectRenderer ( )
Returns
TYPO3CMSFrontendContentObjectContentObjectRenderer
getLinkInstructions ( )

Returns the original instructions / $linkConfiguration that were used to build the link

Returns
array