ModifyNewContentElementWizardItemsEvent¶
New in version 12.0: This event serves as a more powerful and flexible alternative
for the removed hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']
.
The PSR-14 event
\TYPO3\CMS\Backend\Controller\Event\ModifyNewContentElementWizardItemsEvent
is called after TYPO3 has already prepared the wizard items,
defined in page TSconfig (mod.wizards.newContentElement.wizardItems).
The event allows listeners to modify any available wizard item as well as adding new ones. It is therefore possible for the listeners to, for example, change the configuration, the position or to remove existing items altogether.
Example¶
Registration of the event listener in the extension's Services.yaml
:
MyVendor\MyExtension\Backend\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/backend/modify-wizard-items'
The corresponding event listener class:
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Backend\EventListener;
use TYPO3\CMS\Backend\Controller\Event\ModifyNewContentElementWizardItemsEvent;
final class MyEventListener
{
public function __invoke(ModifyNewContentElementWizardItemsEvent $event): void
{
// Add a new wizard item after "textpic"
$event->setWizardItem(
'my_element',
[
'iconIdentifier' => 'icon-my-element',
'title' => 'My element',
'description' => 'My element description',
'tt_content_defValues' => [
'CType' => 'my_element',
],
],
['after' => 'common_textpic']
);
}
}
API¶
- class TYPO3\CMS\Backend\Controller\Event\ModifyNewContentElementWizardItemsEvent¶
Listeners to this Event will be able to modify the wizard items of the new content element wizard component
- getWizardItems()¶
- Return type
array
- setWizardItems(array $wizardItems)¶
- Parameters
$wizardItems (
array
) -- the wizardItems
- hasWizardItem(string $identifier)¶
- Parameters
$identifier (
string
) -- the identifier
- Return type
bool
- getWizardItem(string $identifier)¶
- Parameters
$identifier (
string
) -- the identifier
- Return type
array
- setWizardItem(string $identifier, array $configuration, array $position = [])¶
Add a new wizard item with configuration at a defined position.
Can also be used to relocate existing items and to modify their configuration.
- Parameters
$identifier (
string
) -- the identifier$configuration (
array
) -- the configuration$position (
array
) -- the position, default: []
- removeWizardItem(string $identifier)¶
- Parameters
$identifier (
string
) -- the identifier
- Return type
bool
- getPageInfo()¶
Provides information about the current page making use of the wizard.
- Return type
array
- getColPos()¶
Provides information about the column position of the button that triggered the wizard.
- Return type
int
- getSysLanguage()¶
Provides information about the language used while triggering the wizard.
- Return type
int
- getUidPid()¶
Provides information about the element to position the new element after (uid) or into (pid).
- Return type
int