CkEditor:如何打开我自己的插件对话框

时间:2016-07-08 06:41:11

标签: plugins ckeditor

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

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

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

2 个答案:

答案 0 :(得分:1)

问题可以通过使用'doubleclick'-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';
    }
  });
}

答案 1 :(得分:0)

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

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