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

标签 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,但找不到任何有用的东西。

最佳答案

使用自定义插件的方法会奏效。您提到的文档,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');
            }
        });
    }
}

关于extjs - Pimcore - 如何将自定义按钮添加到对象树菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42907638/

相关文章:

object - Pimcore - 相关对象值未获取

zend-framework - 列出对象时 Pimcore 异常

zend-framework - 什么是(Pimcore 的缺点?

javascript - ExtJs:等到存储加载然后执行下一条语句

javascript - 如何从网格中获取值并发布它们。 EXTJS

javascript - Selenium 和 ExtJS 5 Grid 选择

php - 生成 HTML 正文和 PDF 附件时的电子邮件问题

javascript - 在 extjs 中添加 html 编辑器字段所需的验证器?

javascript - Ext.app.ViewController,将多个组件指向单个处理程序

php - pimcore调试