BeforePagePreviewUriGeneratedEvent
New in version 12.0
This PSR-14 event replaces the
$GLOBALS
preProcess hook.
The \TYPO3\
is executed in \TYPO3\
, before the preview
URI is actually built. It allows to either adjust the parameters, such as the
page id or the language id, or to set a custom preview URI, which will then stop
the event propagation and also prevents
\TYPO3\
from building the URI based
on the parameters.
Note
The overwritten parameters are used for building the URI and are also passed
to the AfterPagePreviewUriGeneratedEvent. They however do not
overwrite the related class properties in Preview
.
Example
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Backend\EventListener;
use TYPO3\CMS\Backend\Routing\Event\BeforePagePreviewUriGeneratedEvent;
use TYPO3\CMS\Core\Attribute\AsEventListener;
#[AsEventListener(
identifier: 'my-extension/backend/modify-parameters',
)]
final readonly class MyEventListener
{
public function __invoke(BeforePagePreviewUriGeneratedEvent $event): void
{
// Add custom query parameter before URI generation
$event->setAdditionalQueryParameters(
array_replace_recursive(
$event->getAdditionalQueryParameters(),
['myParam' => 'paramValue'],
),
);
}
}
New in version 13.0
The PHP attribute \TYPO3\
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/
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 BeforePagePreviewUriGeneratedEvent
-
- Fully qualified name
-
\TYPO3\
CMS\ Backend\ Routing\ Event\ Before Page Preview Uri Generated Event
Listeners to this event will be able to modify the corresponding parameters, before the page preview URI is being generated, when linking to a page in the frontend.