AfterContentHasBeenFetchedEvent

New in version 13.4.2 / 14.0

Using the PSR-14 \TYPO3\CMS\Frontend\Event\AfterContentHasBeenFetchedEvent , it is possible to manipulate the page content, which has been fetched by the page-content data processor, based on the page layout and corresponding columns configuration.

Example

The event listener class, using the PHP attribute #[AsEventListener] for registration, removes some of the fetched page content elements based on specific field values.

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\AfterContentHasBeenFetchedEvent;

final readonly class MyEventListener
{
    #[AsEventListener]
    public function removeFetchedPageContent(AfterContentHasBeenFetchedEvent $event): void
    {
        foreach ($event->groupedContent as $columnIdentifier => $column) {
            foreach ($column['records'] ?? [] as $key => $record) {
                if ($record->has('parent_field_name') && (int)($record->get('parent_field_name') ?? 0) > 0) {
                    unset($event->groupedContent[$columnIdentifier]['records'][$key]);
                }
            }
        }
    }
}
Copied!

API

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

Event listeners are able to manipulate fetched page content, which is already grouped by column

public groupedContent
public readonly request