Liferay:自定义CKEditor

时间:2011-08-18 07:58:36

标签: ckeditor liferay liferay-6

我尝试在Crayditor中的Liferay 6中自定义快捷键。

我做了一个钩子,并将其添加到文件html / js / editor / 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解析?如果是,是否有阻止我修改的内容?

3 个答案:

答案 0 :(得分: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']
    ];
};

答案 1 :(得分:1)

似乎已经在Liferay 6.0 SP2中修复了这个问题。我刚刚迁移,我暴露的第一个技术现在正在工作......

但是,Ed Holderman的回答必须对Liferay 6.0 SP1有效。

感谢您的帮助。

答案 2 :(得分:1)

另见:

http://www.liferay.com/community/forums/-/message_boards/view_message/10991139#_19_message_10997220

liferay 6.0.5 / 6.0.6 CE附带的jsp有很多问题,并且没有加载配置!