Pimcore - 如何将自定义按钮添加到对象树菜单

Pimcore - How to add custom button to object tree menu

我想在 Pimcore 4.3.1 的对象树上下文菜单中添加一个自定义菜单按钮,例如在复制按钮之前:

我认为最好的解决方案是自定义插件: https://www.pimcore.org/docs/latest/Extending_Pimcore/Plugin_Developers_Guide/Plugin_Backend_UI.html

在插件的 'pimcoreReady' 功能中,我可以扩展例如主导航和添加自定义按钮...但是我找不到任何关于扩展对象树的信息...

我已经查看了创建原始菜单的 /pimcore/static/js/pimcore/object/tree.js,但找不到有用的东西。

使用自定义插件的方法可行。您提到的文档 https://www.pimcore.org/docs/latest/Extending_Pimcore/Plugin_Developers_Guide/Plugin_Backend_UI.html 显示了可用 javascript 事件的列表。

prepare*TreeContextMenu 事件专门用于修改树面板中的上下文菜单。你可以通过简单地将它添加到你的插件 class 来执行这个事件的函数,就像你对 pimcoreReady 事件所做的一样,就像这样:

pimcore.plugin.myplugin = Class.create(pimcore.plugin.admin, {
    prepareObjectTreeContextMenu: function (menu, treeClass, object) {

        // Modify ext menu
        menu.add({
            text: "My Button",
            iconCls: "pimcore_icon_copy",
            handler: function () {
                console.log('Clicked menu button');
            }
        });
    }
}