如果在第二步加载的设置中还定义了新的customConfig值,就加载另一个配置文件,且其设置覆盖实例的当前设置。对所有文件递归,直到没有再定义customConfig。
最终,在页面中(in-page)中定义的设置覆盖实例的当前设置(除了customConfig,它已在第一步中使用过了)。
避免加载外部的设置文件
也可能完全避免加载外部的配置文件,以减少加载的文件数。为此,你需要将
CKEDITOR.config.customConfig设置为空字符串。例如:
CKEDITOR.replace( 'editor1', { customConfig : ' ' });
如果你在config.js文件中没有配置,也没有定制的配置文件,则一定推荐此设置。
2、工具栏的定制
虽然CKEditor是一个功能齐全的“所见即所得”编辑器,但是并不是其所有选项在所有情况下都需要。因此,工具栏定制是最常用需求之一。
有两种方法配置工具栏来匹配需求:
-
工具栏组配置
-
“逐项”配置
工具栏组配置
CKEditor 4为组织工具栏引入了新概念,它基于“分组”,而不是传统的“逐项定位”方式。
配置分组是由toolbarGroups设置定义的。下面是CKEditor标准发布所使用的配置:
config.toolbarGroups = [ { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] }, { name: 'links' }, { name: 'insert' }, { name: 'forms' }, { name: 'tools' }, { name: 'document', groups: [ 'mode', 'document', 'doctools' ] }, { name: 'others' }, '/', { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align' ] }, { name: 'styles' }, { name: 'colors' }, { name: 'about' } ];
它是一个对象的列表(数组),每一项有一个“name”(如"clipboard"或"links")和一个可选的“子组”列表。
改变组的顺序
可以通过改变上述配置,可以容易地定制组的顺序和位置。
通过加入'/',正如在上面看到的,可以在工具栏中强制断行(row-break)。
注意:在上面的配置中,有没有使用的组。这是因为“设计”的原因(参见“组配置的好处”)。
组配置的好处
与“逐项”配置相比,配置工具栏分组的最重要好处是:自动化。
现在可以让插件开发人员决定其插件应该将按钮加到工具栏的哪个组中。例如,“图像”插件,可将其按钮包括到“插入”组中,而撤销和重做按钮加到“撤销”子组中。