AfterTemplatesHaveBeenDeterminedEvent¶
New in version 12.0: This event is a substitution for the
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Core/TypoScript/TemplateService']['runThroughTemplatesPostProcessing']
hook.
The PSR-14 event
\TYPO3\CMS\Core\TypoScript\IncludeTree\Event\AfterTemplatesHaveBeenDeterminedEvent
can be used to manipulate sys_template
rows. The event receives the list
of resolved sys_template
rows and the
\Psr\Http\Message\ServerRequestInterface
and allows manipulating the
sys_template
rows array.
The event is called in the code of the Site Management > TypoScript backend module, for example in the submodule Included TypoScript, and in the frontend.
Extensions using the old hook that want to stay compatible with TYPO3 v11 and v12 can implement both the hook and the event.
Example¶
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\TypoScript\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/post-process-sys-templates'
Read how to configure dependency injection in extensions.
The corresponding event listener class could look like this:
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\TypoScript\EventListener;
use TYPO3\CMS\Core\TypoScript\IncludeTree\Event\AfterTemplatesHaveBeenDeterminedEvent;
final class MyEventListener
{
public function __invoke(AfterTemplatesHaveBeenDeterminedEvent $event): void
{
$rows = $event->getTemplateRows();
// ... do something ...
$event->setTemplateRows($rows);
}
}
API¶
- class TYPO3\CMS\Core\TypoScript\IncludeTree\Event\AfterTemplatesHaveBeenDeterminedEvent¶
A PSR-14 event fired when sys_template rows have been fetched.
This event is intended to add own rows based on given rows or site resolution.
- getRootline()¶
- Return type
array
- getRequest()¶
- Return type
Psr\Http\Message\ServerRequestInterface
- getSite()¶
Convenience method to directly retrieve the Site. May be null though!
- Return type
TYPO3\CMS\Core\Site\Entity\SiteInterface
- getTemplateRows()¶
- Return type
array
- setTemplateRows(array $templateRows)¶
- Parameters
$templateRows (
array
) -- the templateRows