ModifyUrlForCanonicalTagEvent
With the PSR-14 event \TYPO3\
the URL for the href
attribute of the canonical tag can be altered or
emptied.
New in version 12.4.9
The methods get
and get
have been added.
Example
Registration of the event in the Services.
:
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\Seo\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/modify-url-for-canonical-tag'
Changing the host of the current request and setting it as canonical:
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Seo\EventListener;
use TYPO3\CMS\Seo\Event\ModifyUrlForCanonicalTagEvent;
final class MyEventListener
{
public function __invoke(ModifyUrlForCanonicalTagEvent $event): void
{
// Note: $event->getUrl() is dispatched with the empty string value ''
$currentUrl = $event->getRequest()->getUri();
$newCanonical = $currentUrl->withHost('example.com');
$event->setUrl((string)$newCanonical);
}
}