1

我尝试在 CKEditor 中自定义 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 解析了吗?如果是,是否有任何东西阻止我的修改?

4

3 回答 3

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']
    ];
};
于 2011-08-19T15:01:43.217 回答
1

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

不过,Ed Holderman 的回答必须对 Liferay 6.0 SP1 有效。

谢谢你的帮助。

于 2011-08-23T09:47:03.397 回答
1

也看这里:

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

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

于 2011-10-06T08:11:14.190 回答