EnhanceStdWrapEvent

New in version 13.0: This event is one of the more powerful replacements for the removed hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap'].

Listeners to the PSR-14 event \TYPO3\CMS\Frontend\ContentObject\Event\EnhanceStdWrapEvent are able to modify the stdWrap processing, enhancing the functionality and manipulating the final result/content. This is the parent event, which allows the corresponding listeners to be called on each step.

Child events:

All events provide the same functionality. The difference is only the execution order in which they are called in the stdWrap processing chain.

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\ContentObject\Event\AfterStdWrapFunctionsExecutedEvent;
use TYPO3\CMS\Frontend\ContentObject\Event\AfterStdWrapFunctionsInitializedEvent;
use TYPO3\CMS\Frontend\ContentObject\Event\BeforeStdWrapFunctionsInitializedEvent;
use TYPO3\CMS\Frontend\ContentObject\Event\EnhanceStdWrapEvent;

final class MyEventListener
{
    #[AsEventListener(
        identifier: 'my-extension/my-stdwrap-enhancement'
    )]
    public function __invoke(EnhanceStdWrapEvent $event): void
    {
        // listen to all events
    }

    #[AsEventListener(
        identifier: 'my-extension/my-stdwrap-before-initialized'
    )]
    public function individualListener(BeforeStdWrapFunctionsInitializedEvent $event): void
    {
        // listen on BeforeStdWrapFunctionsInitializedEvent only
    }

    #[AsEventListener(
        identifier: 'my-extension/my-stdwrap-after-initialized-executed'
    )]
    public function listenOnMultipleEvents(
        AfterStdWrapFunctionsInitializedEvent|AfterStdWrapFunctionsExecutedEvent $event
    ): void {
        // Union type to listen to different events
    }
}

New in version 13.0: The PHP attribute \TYPO3\CMS\Core\Attribute\AsEventListener has been introduced to tag a PHP class as an event listener. Alternatively, you can also register an event listener via the Configuration/Services.yaml file. Have a look into the section Implementing an event listener in your extension.

API

abstract class TYPO3\CMS\Frontend\ContentObject\Event\EnhanceStdWrapEvent

Listeners to this Event are able to modify the stdWrap processing, enhancing the functionality and manipulating the final result / content. This is the parent Event, which allows the corresponding listeners to be called on each step, see child Events:

getContent()
Return type

string

setContent(string $content)
Parameters
  • $content (string) -- the content

getConfiguration()
Return type

array

getContentObjectRenderer()
Return type

TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer