【问题标题】:CkEditor: how to open my own plugin dialogCkEditor:如何打开我自己的插件对话框
【发布时间】:2016-07-09 18:31:16
【问题描述】:

我是 CkEditor 插件开发的新手,有一个简单的问题。

以下问题:我有一个非常“特殊”、非面向消费者的媒体资产存储(存储为文件系统上的树状层次结构)。 CkEditor 用户应该找到这些媒体资产,因此我为此实现了一个插件,该插件在左侧加载树并在左侧显示媒体资产。用户现在可以选择树项目并选择左侧的媒体资产。该插件有效,代码是使用 img-Tag 生成的。当我双击新生成的代码时,'image'-plugin-dialog 会被加载,而不是我的自定义对话框。

问题: 我该怎么做才能告诉 CkEditor 打开我的对话框?我想,有一个来自标签-> 对话框的内部映射,并且 img-Tag 加载了 img-Dialog。我有哪些可能性?我必须为此使用自定义标签吗?

【问题讨论】:

    标签: plugins ckeditor


    【解决方案1】:

    问题可以通过使用“双击”-Hook 来解​​决,例如

    initDoubleClickHandler: function(editor) {
      editor.on( 'doubleclick', function(e) {
        var selection = editor.getSelection();
        var start = selection.getStartElement();
        var attribute = start.getAttribute('data-type');
        if ( attribute != undefined && attribute != null && attribute == 'myplugin' ) {
          e.data.dialog = 'myPluginDialog';
        }
      });
    }
    

    【讨论】:

      【解决方案2】:

      受支持且简单的方法是将插件创建为带有对话框的小部件。您可以控制 CKEditor 如何知道它是您的特殊对象并启动您的对话框。您可以使用具有特殊 css 样式的 img 或创建自己的自定义 html 标签(例如 )。

      阅读小部件教程here(对话框在本教程的第 2 部分中解释)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多