2011-08-18 106 views
1

我嘗試在CKEditor中的Liferay 6中自定義快捷鍵。Liferay:自定義CKEditor

我做了一個鉤子,並已將此添加到文件的HTML/JS /編輯/ CKEditor的/ ckconfig.jsp:

CKEDITOR.config.keystrokes = [ 
    [ CKEDITOR.ALT + 121 /*F10*/, 'toolbarFocus' ], 
    [ CKEDITOR.ALT + 122 /*F11*/, 'elementsPathFocus' ], 

    [ CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ], 

    [ CKEDITOR.CTRL + 90 /*Z*/, 'undo' ], 
    [ CKEDITOR.CTRL + 89 /*Y*/, 'redo' ], 
    [ CKEDITOR.CTRL + CKEDITOR.SHIFT + 90 /*Z*/, 'redo' ], 

    [ CKEDITOR.CTRL + 76 /*L*/, 'link' ], 

    [ CKEDITOR.CTRL + 71 /*G*/, 'bold' ], 
    [ CKEDITOR.CTRL + 73 /*I*/, 'italic' ], 
    [ CKEDITOR.CTRL + 85 /*U*/, 'underline' ], 

    [ CKEDITOR.ALT + 109 /*-*/, 'toolbarCollapse' ] 
]; 

的問題是,無論我做這個文件中的變化,它改變了什麼在我的CKEditor中!即使我刪除了所有東西,它仍然是一樣的。

當我用Firebug解析頁面時,我看到ckeditor.jsp被解析,即使我手動編輯這個文件,快捷方式仍然是本地的。

問題是:這個JSP文件是否被CKEditor解析過?如果是的話,有什麼阻止我的修改?

回答

1

看來這已修復的Liferay 6.0 SP2。我剛剛遷移,我所暴露的第一個技術現在正在工作...

Ed Holderman的答案必須適用於Liferay 6.0 SP1。

感謝您的幫助。

3

我想我們知道了這一點。正如在http://issues.liferay.com/browse/LPS-5075中引用的那樣,最新版本的CKEditor從ROOT \ html \ js \ editor \ ckeditor \ config.js中取得它的定製,而不是ckconfig.jsp。 Liferay用戶界面開發中的文檔可能不再適用於此版本。更新此文件後,請確保清除瀏覽器緩存,關閉瀏覽器,清除Tomcat工作目錄並重新啓動Tomcat,以確保您看到新的更新(我遇到問題)。

覆蓋工具欄的例子:

CKEDITOR.editorConfig = function(config) 
{ 
    // Define changes to default configuration here. For example: 
    // config.language = 'fr'; 
    // config.uiColor = '#AADC6E'; 

    config.toolbar_liferay = [ 
     ['Undo', 'Redo', '-', 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'SelectAll', 'RemoveFormat'], 
     ['Link', 'Unlink', 'Anchor'], 
     ['Image', 'Flash', 'Table', '-', 'Smiley', 'SpecialChar'] 
    ]; 
};