2012-11-29 69 views
1

我試圖在CKEditor的工具欄中添加語言列表。因此,語言可以動態改變。但語言列表並不出現在工具欄中。請有人幫我弄清楚問題。謝謝。在CKEditor中添加語言列表

CKEDITOR.editorConfig = function(config) { 
    // config.language = 'fr'; 
    config.extraPlugins = 'language'; 
    CKEDITOR.config.toolbar = [ 
     [ 'language','Bold'] 
    ]; 
}; 

也寫不出plugin.js在/source/plugins/language/目錄 代碼:

CKEDITOR.plugins.add('language', { 
    requires: [ 'selection' ], 
    init: function(editor) { 
     var pluginName = 'language'; 
     CKEDITOR.dialog.add(pluginName, this.path + 'dialogs/language.js'); 
     editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName)); 
     editor.ui.addButton('language', { 
      label: 'language', 
      command: pluginName 
     } 
}); 

但不working.Please有人幫助..你附着有很多語法錯誤的

回答

0

代碼。你有沒有檢查控制檯?

下面是它的固定版本:

CKEDITOR.plugins.add('language', { 
    requires: 'selection', 
    init: function(editor) { 
     var pluginName = 'language'; 
     CKEDITOR.dialog.add(pluginName, this.path + 'dialogs/language.js'); 
     editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName)); 
     editor.ui.addButton('Language', { 
      label: 'language', 
      command: pluginName 
     }); 
    } 
}); 

第二期 - 插件應該放在_source/plugins/language/目錄。

最後,問題 - 你試圖創建插件改變什麼語言?編輯或內容?請注意,第一個是不可能的。編輯器必須重新加載(銷燬並重新初始化)才能更改UI語言。

+1

其實我試圖改變編輯器的語言。但是如果它不可能那麼編輯器的語言怎麼會動態地改變呢? – bkashaf

+0

要做到這一點,你必須銷燬一個編輯器('editor.destroy()')的實例,並用新的語言創建一個具有相同數據的新實例(所以你應該首先通過' editor.getData()')。這是唯一可能的方法。 – Reinmar

+0

非常感謝您的幫助,但問題仍然存在。選擇列表未顯示在工具欄中。 – bkashaf