为Joomla安装所见即所得(WYSIWYG)编辑器CKEditor


上次讲了Joomla1.5汉化原理和文件结构,这次解决编辑器的问题。Joomla主程序自带的WYSIWYG编辑器tinymce虽然已经不错了,但Joomla有众多的编辑器扩展可供选择,Ethan推荐安装CKEditor。CKEditor除了针对Joomla1.5外,还有其他版本,用法基本一样。 一、第一次安装扩展:com_ckeditor,要学会手动加语言文件。二、Joomla自带的代码过滤规则。不管前台还是后台,不同的Joomla用户组都有可能通过编辑器(包括纯文本编辑器和WYSIWYG编辑器)输入内容,如果不加以过滤,是个安全隐患。但是很多时候我们不希望过滤掉一些代码,所以系统需要提供一个适中的方案。Joomla的解决办法是这样的:在后台【内容】-【文章管理】页面的工具栏中,有个【统一参数】,进去后有一组过滤选项。很多人搞不清楚这里的规则,Ethan明确下:如果【过滤组】没有选中任何一个,【过滤类型】无效,系统按照默认的规则过滤,这个规则是:对于超级管理员,不进行任何代码过滤;对于其他各种权限组,进行默认代码过滤,具体规则将鼠标放在【过滤类型】上弹窗说明里有。默认安装后【过滤类型】一个都没有选中,如果你选中了一个,便无法取消,不过不用担心,因为【过滤组】没有选中任何一个,【过滤类型】是无效的,所以一个都不选或选哪个都没有影响。如果【过滤组】选中了一个或多个,超级管理员的特权取消,所有用户组一视同仁,只要被选中,就按照【过滤类型】的设定执行过滤。如果【过滤类型】为黑名单,【过滤标签】和【过滤属性】都为空,等效于没有任何过滤。如果【过滤类型】为白名单,【过滤标签】和【过滤属性】都为空,等效于过滤所有标签。如果【过滤类型】为禁止HTML,等效于过滤所有html标签,甚至连<abc></abc>这种非法的html标签也会被过滤掉。大家可能觉得有些复杂,其实一般不需要动这里的设置,就是保证【过滤组】没有选中任何一个就行了。三、CKEditor的过滤转换规则。Joomla保存文本框内容时的过滤过程是这样的,先执行编辑器的过滤转换规则,再执行上述Joomla自带的过滤规则。CKEditor默认会把“’”和“””转换成“&”开头的字符串,虽然不妨碍网页显示,但阅读html代码时会很不爽,Ethan在CKEditor组件设置里禁用【高级设置】-【使用HTML实体】就好了。四、碍事的自动生成<p>标签功能。有的时候我们需要在开头输入一段纯文本,比如加入一段Joomla的插件代码,tinymce和CKEditor都会自动在最开头加上<p>标签,想去掉都不行。对于tinymce,Ethan没有发现简单的处理办法,有高人知道请指点。但是对于CKEditor,有个办法,在CKEditor组件设置里,【高级设置】-【按回车键输入】,选择br元素;【高级设置】-【按Shift+回车键输入】,选择p元素。Ethan觉得br比p好用,个人根据自己的喜好来吧。