先简单介绍一下dnn里边的富文本编辑器(Rich TextEditor)的渊源,也就是我们常说的web在线编辑器,最先dnn版本是集成了FreeTextbox的,但后来由于FreeTextbox商业化了,而且本身FreeTextbox也不是特别的好用,故由于dnn本身的开源性质,最终替换了如今的FckEditor,以下就是FckEditor的一些特性:
1) 多种浏览器兼容,其中包括IE 5.5+ (Windows), Firefox 1.0+, Mozilla 1.3+和Netscape 7+以上浏览器
2) 支持 XHTML 1.0
3) 支持CSS
4) 字体属性编辑
5) 剪切、粘贴、撤销、重复
6) 从word中粘贴文档并自动清理 格式
7) 插入图片,上传图片
8) 表格编辑
9) 插入表单域及其子元素
10) 支持右键菜单
11) 可定制工具栏
12) 皮肤支持
13) 插件(Plugins)模式支持
14) 拼写检查程序
15) 多语言支持以及自动用户语言侦查。
16) 轻量级和快速
17) 自动浏览器侦查和定制
18) 支持多种编程语言,其中包括ASP,CGI,PHP,ASP.NET,Java,ColdFusion,Python等脚本
19) 支持开发者安装和API编程
20) 简单易用!
21) 开源
这里先着重提及如何定制dnn的FckEditor,在此之前先简单说明一下在dnn中FckEditor的目录结构,目前FckEditor在dnn是作为一个HtmlEditorProviders的形式出现的,也就是dnn已集成了FckEditor并为此提供一个默认的Providersl来管理,将来如果需要替换其他Providers的话也是及其方便的,我想这是dnn里Providers的魅力所在,开发过dnn的程序员都比较清楚,而其FckEditor的根目录就是$rootWebsite/Providers/HtmlEditorProviders/Fck,其中关系到我们如何定制FckEditor比较主要的目录就是默认的FCKeditor和dnn核心添加的Custom这两个目录,如果打开这两个目录看看,你就会比较清楚了,其实FCKeditor这里目录主要就是包含默认的FCKeditor所有的东西,比如skins,plugins,lang(语言包)等等,而Custom这是dnn对默认FCKeditor定制的一些修改配置.比如增加了dnn默认的编辑器工具栏属性:
['Source','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
['Style','FontFormat'],['FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','-','About']
] ;