2017-04-04 51 views
0

我已經有這個代碼的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的...

回答

0

所以這是一個變通,我不認爲這是一個很好的解決方案,但它的工作原理...

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

通過將這些代碼放在代碼末尾,您可以刪除上載選項卡並立即添加它,但是這次您將它放在信息選項卡的正前方。

+0

其工作正常,但它不確定地停止自動比率圖像寬度與高度,並且圖像高度和寬度也不保存在**圖像信息**選項卡上。 –

相關問題