diff --git a/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103186-IntroduceTreeNodeStatusInformation.rst b/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103186-IntroduceTreeNodeStatusInformation.rst index 328aed3d27de1dc8be5ff0fcca877b05c28dadfe..e659330d23515fc957528ee9a31118b00f2ffab8 100644 --- a/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103186-IntroduceTreeNodeStatusInformation.rst +++ b/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103186-IntroduceTreeNodeStatusInformation.rst @@ -24,20 +24,45 @@ Each node can accommodate multiple status information, prioritized by severity and urgency. Critical messages take precedence over other status notifications. -.. code-block:: php - - new TreeItem( - ... - statusInformation: [ - new StatusInformation( - label: 'A warning message', - severity: ContextualFeedbackSeverity::WARNING, - priority: 0, - icon: 'actions-dot', - overlayIcon: '' - ) - ] - ), +For example, status information can be added by using the event +:php:`\TYPO3\CMS\Backend\Controller\Event\AfterPageTreeItemsPreparedEvent`: + +.. code-block:: php + :caption: EXT:my_extension/Classes/Backend/EventListener/ModifyPageTreeItems.php + :emphasize-lines: 21-27 + + <?php + + declare(strict_types=1); + + namespace MyVendor\MyExtension\Backend\EventListener; + + use TYPO3\CMS\Backend\Controller\Event\AfterPageTreeItemsPreparedEvent; + use TYPO3\CMS\Backend\Dto\Tree\Label\Label; + use TYPO3\CMS\Core\Attribute\AsEventListener; + + #[AsEventListener( + identifier: 'my-extension/backend/modify-page-tree-items', + )] + final readonly class ModifyPageTreeItems + { + public function __invoke(AfterPageTreeItemsPreparedEvent $event): void + { + $items = $event->getItems(); + foreach ($items as &$item) { + if ($item['_page']['uid'] === 123) { + $item['statusInformation'][] = new StatusInformation( + label: 'A warning message', + severity: ContextualFeedbackSeverity::WARNING, + priority: 0, + icon: 'actions-dot', + overlayIcon: '', + ); + } + } + $event->setItems($items); + } + } Impact ====== diff --git a/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103211-IntroduceTreeNodeLabels.rst b/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103211-IntroduceTreeNodeLabels.rst index 1ef9e75f2487dfc691bcee3bca5acf5bb711fd1c..792a96a6e70aa185e9ec05b2cac7c51b537c419f 100644 --- a/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103211-IntroduceTreeNodeLabels.rst +++ b/typo3/sysext/core/Documentation/Changelog/13.1/Feature-103211-IntroduceTreeNodeLabels.rst @@ -67,9 +67,9 @@ The labels can also be added by using the event // Add special label for all pages with parent page ID 123 if ($item['_page']['pid'] === 123) { $item['labels'][] = new Label( - 'Campaign B', // Label - '#00658f', // Color as RGB value - 1, // Priority + label: 'Campaign B', + color: '#00658f', + priority: 1, ); } }