You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TYPO3 >=v12顶部栏现有帮助下拉按钮中添加菜单项

在TYPO3 v12+顶部帮助菜单添加外链菜单项的实现方法

实现步骤

1. 注册后端事件监听器

在你的扩展目录下的Configuration/Services.yaml中添加以下配置,注册监听顶部栏元素修改的事件:

services:
  Vendor\YourExtension\EventListener\ModifyHelpMenuListener:
    tags:
      - name: event.listener
        identifier: 'your-extension/modify-help-menu'
        event: TYPO3\CMS\Backend\Backend\Event\ModifyBackendTopbarItemsEvent

2. 编写事件监听器类

在扩展的Classes/EventListener/目录下创建ModifyHelpMenuListener.php文件,实现具体的菜单添加逻辑:

<?php

declare(strict_types=1);

namespace Vendor\YourExtension\EventListener;

use TYPO3\CMS\Backend\Backend\Event\ModifyBackendTopbarItemsEvent;
use TYPO3\CMS\Backend\Toolbar\DropdownItem;
use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class ModifyHelpMenuListener
{
    public function __construct(
        protected readonly IconFactory $iconFactory
    ) {}

    public function __invoke(ModifyBackendTopbarItemsEvent $event): void
    {
        // 遍历顶部栏元素,找到标识为"help"的下拉按钮
        foreach ($event->getTopbarItems() as $topbarItem) {
            if ($topbarItem->getIdentifier() === 'help') {
                // 创建自定义菜单项
                $customItem = GeneralUtility::makeInstance(DropdownItem::class)
                    ->setTag('a')
                    ->setHref('https://mysite/whatever')
                    ->setLabel('我的自定义帮助链接')
                    ->setTitle('点击打开自定义帮助页面')
                    ->setIcon($this->iconFactory->getIcon('actions-heart'))
                    ->setTarget('_blank'); // 设置在新标签页打开

                // 将菜单项添加到帮助下拉菜单
                $topbarItem->addItem($customItem);
                break;
            }
        }
    }
}

关键说明

  • 事件选择:使用ModifyBackendTopbarItemsEvent可以直接操作顶部栏的所有元素,包括已存在的帮助下拉按钮,无需重新创建按钮。
  • 定位帮助菜单:通过遍历顶部栏元素,匹配identifier为help的项,即可获取到已有的帮助下拉按钮实例。
  • 新标签页打开:通过setTarget('_blank')实现外链在新标签页打开,避免编辑离开当前操作上下文。

内容的提问来源于stack exchange,提问作者Sybille Peters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:42:11