最近做Publishing Site的时候,遇到一些有关编辑器的问题,小结如下:
1.MOSS自带HTML编辑器不支持firefox,且并不好用。
2.网上有文章说集成FCKEditor/TinyMCE在MOSS中的方法,但只是在NON_IE.js里添加代码,即IE使用默认编辑器,非IE使用设置的浏览器。
3.处理NON_IE.js的方法,只能对非Publishing Site的Multi Line Text(Rich Text)生效。有以下问题:
(1)在显示的时候会闪现一次原始界面,有点难看。
(2)在Publishing Site里,使用SharepointWebControls:NoteField是不能调用HTML编辑器的。
(3)使用SharepointWebControls:RichTextField可以调用编辑器,但显示的时候未能HTML编码!
(4)如果是Full HTML的FieldType, 则不起作用,非IE状态下不会出现HTML编辑器。
当然,不得不承认网上高手改的NON_IE.js很巧妙。且可以应对原有的RichText FieldType。
4.使用其它HTML编辑器(我准备用的TinyMCE,优缺点网上有介绍),准备写一个FieldType来实现。
5.感觉这个FieldType不会太难,已经实现了部分代码,明天(其实是今天)继续增加。
(1)增加一个moss_setting.js文件来管理Editor的配置。暂时提供三套配置:MOSSMINI/MOSSBASIC/MOSSFULL
以后要增加配置直接修改此js搞定。
(2)Register Script Include: moss_setting.js/tiny_mcs.js
(3)在FieldControl里为相应的TextBox注册tiny_mce Editor。
6.将部分TextBox的属性与HtmlFieldControl的属性对应。
7.使用Feature发布HtmlField。
其它问题:
1.感觉可以跟NON_js搭配使用,效果估计会更佳 :)
2.没有使用.NET版的TinyMCE,考虑到要往Web.Config配置太多东西(其实现在也需要配置一些)
3.使用复合控件的时候,EnsureChildControls()出了点问题,就没有用了,不知具体原因。
4.不知TinyMCE是否支持实时切换界面风格。
相关链接:
1.TinyMCE: http://tinymce.moxiecode.com/
有完整的Sample, SourceCode, wiki等
2.在MOSS 2007中集成TinyMCEhttp://www.andypemberton.com/?p=7
使用NON_IE.js处理,有引用另一篇帖子集成FCKEditor。可惜测试结果对HtmlField不能用。
www.guoguoer.cn blog那边今天突然不工作了,只好先发到这边。