我是CkEditor插件开发的新手,有一个简单的问题。
以下问题:我有一个非常特殊的非面向消费者的媒体资产存储(存储为文件系统上的树层次结构)。 CkEditor用户应该找到这些媒体资产,因此我为此实现了一个插件,其中一个find在左侧加载树并在左侧显示媒体资产。用户现在可以选择树项目并选择左侧的媒体资产。插件工作,代码使用img-Tag生成。当我双击新生成的代码时,' image' -plugin-dialog会被加载,而不是我的自定义对话框。
问题: 我该怎么做才能告诉CkEditor打开我的对话框?我想,标签中有一个内部映射 - >对话框和img-Tag加载img-Dialog。我有哪些可能性?我必须使用自定义标签吗?
答案 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部分中进行了解释)。