ModifyButtonBarEvent
FinalYes
PSR-14 event that allows listeners to modify the buttons in the backend module document header button bar. This event is dispatched after all buttons have been added to the button bar, but before they are rendered.
Use cases:
- Add custom buttons to existing modules
- Remove or hide buttons based on conditions
- Modify button properties (labels, icons, etc.)
- Reorder buttons
Example event listener:
use TYPO3\CMS\Backend\Template\Components\ModifyButtonBarEvent;
use TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\ComponentFactory;
use TYPO3\CMS\Core\Attribute\AsEventListener;
final class MyButtonBarListener
{
public function __construct(
protected readonly ComponentFactory $componentFactory,
) }
#[AsEventListener]
public function __invoke(ModifyButtonBarEvent $event): void
{
$buttons = $event->getButtons();
$buttonBar = $event->getButtonBar();
$myButton = $this->componentFactory->createLinkButton()
->setHref('/my-action')
->setTitle('My Action')
->setIcon($iconFactory->getIcon('actions-heart'));
$buttons[ButtonBar::BUTTON_POSITION_RIGHT][1][] = clone $myButton;
$event->setButtons($buttons);
}
}
Tags
Table of Contents
Methods
- __construct() : mixed
- getButtonBar() : ButtonBar
- getButtons() : Buttons
- setButtons() : void
Methods
__construct()
public
__construct(Buttons $buttons, ButtonBar $buttonBar) : mixed
Parameters
- $buttons : Buttons
- $buttonBar : ButtonBar
getButtonBar()
public
getButtonBar() : ButtonBar
Return values
ButtonBargetButtons()
public
getButtons() : Buttons
Return values
ButtonssetButtons()
public
setButtons(Buttons $buttons) : void
Parameters
- $buttons : Buttons