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

时间:2017-03-20 15:30:02

标签: extjs pimcore

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

Object tree context menu

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

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

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

1 个答案:

答案 0 :(得分:4)

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

prepare*TreeContextMenu事件专门用于修改树面板中的上下文菜单。您可以像对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');
            }
        });
    }
}