有没有办法在CKEditor对话框中重新排列选项卡?

时间:2017-04-04 14:10:34

标签: javascript jquery ckeditor

我已经在CKEditor中使用了这段代码:

 CKEDITOR.on( 'dialogDefinition', function( ev ) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;
    var dialog = dialogDefinition.dialog;


    if ( dialogName == 'image' ) {
        dialog.on('show', function () {
            this.selectPage('Upload');
    });

       dialogDefinition.removeContents( 'Link' );
       dialogDefinition.removeContents( 'advanced' );
       var infoTab = dialogDefinition.getContents( 'info' );

       infoTab.remove( 'txtAlt' );
       infoTab.remove( 'txtBorder' );
       infoTab.remove( 'txtHSpace' );
       infoTab.remove( 'txtVSpace' );
       infoTab.remove( 'cmbAlign' );

       var upTab = dialogDefinition.getContents( 'Upload' );
       var upButton = upTab.get( 'uploadButton' );
       var uploadBut = upTab.get( 'upload' );

       upButton.label = 'Upload Image';
       uploadBut.label = 'Upload Image';
    }
});

当您点击CKEditor上的上传图片按钮时会出现类似的结果:

enter image description here

这段代码:

if ( dialogName == 'image' ) {
    dialog.on('show', function () {
        this.selectPage('Upload');
});

设置"上传"选项卡作为默认值。它运作良好。

但我真正想做的是放置"上传"在"图像信息"之前的标签标签。

enter image description here

CKEditor API中有什么东西可以让我这样做吗?或者我必须修改dialog-plugin.js才能做到这一点?如果是后者,我该如何开始这样做呢?我使用的是最新版本的CKEditor ......

1 个答案:

答案 0 :(得分:0)

所以这是一个解决方案,我不认为这是一个非常好的解决方案,但它有效......

dialogDefinition.removeContents( 'Upload' );
dialogDefinition.addContents(upTab, 'info');

将这些内容放在代码的末尾,您可以删除“上传”标签并立即添加,但这次将其放在“信息”标签之前。