注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之云的足迹

点击这里添加博客描述

 
 
 

日志

 
 

FCKEditor插件与rails集成  

2010-11-08 19:13:22|  分类: Rails |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
配置使用:
1.下载fckeditor,http://rubyforge.org/projects/fckeditorp/
2. 解压到vendor\plugins目录下,并且重新命名为fckeditor
3. 到该应用程序根目录下,然后运行rake fckeditor:install,执行自动安装
4.在自己的base.rhtml文件中添加下面语句,用于加载插件,如果用的页面不多,可以在需要使用的页面才加载此插件
<%= javascript_include_tag :fckeditor %>
5. 将需要使用该插件编辑的字段textarea
从原来的<%= text_area :issue, :description, :id => 'edit_issue_description',:class => 'wiki-edit'%>
替换为<%= fckeditor_textarea(:issue, :description, { :toolbarSet => 'Simple',:id => 'edit_issue_description',:class => 'wiki-edit',:toolbarKit => 'Simple', :width => '100%', :height => '600px' }) %>
6. 页面显示中原来基于Wiki样式的 显示会调用textilizable方法
如下:<%= textilizable @issue, :description %>
使用该插件后直接读取内容即可改成<%=@issue.description%>

遇到问题总结:

【问题一】 上传png文件在IE下出现文件类型不对,上传不了的问题
【解决方法】 在插件fckeditor_controller.rb文件中有一个MIME_TYPES里面列举了上传时允许的类型列表,png文件类型定义为 image/png,但是IE下通过调试代码发现获取到的确是image/x-png,因为两种类型对不上,导致上传不了,解决方法是在 MIME_TYPES中把image/x-png也加上

具体查看http://www.txdnet.cn/essay/view.jsp?tid=1261563827000&cid=2

【问题二】 任务页面有两个地方可以修改描述,插件自带的方法会出现id重名的问题
【解决方法】 修改插件代码,插件使用了按照issues_id_description的样式获取id,改成可以在自定义上传:id参数,按照此参数定义控件id值。修改插件Fckeditor.rb方法

【问题三】 在wiki编辑器和可视化编辑器之间切换的时候保证内容之前写的内容不丢失
【解决方法】 经过查找按照插件提供的API可以实现
获取fck插件textrea中的内容
1
2
var oEditor = FCKeditorAPI.GetInstance(fck_textarea_id);
var content = oEditor.GetXHTML(true);

设置fck插件t对应的extrea中的内容
1
2
3
 var value = $(wiki_textarea_id).value
var oEditor = FCKeditorAPI.GetInstance(fck_textarea_id) ;
oEditor.SetData(value) ;

【问题四】 Firefox下编辑器中回车页面出现跳动的问题
【解决方法】 经过查找资料找到了网上对于此问题的一个修改补丁。见:http://dev.ckeditor.com/ticket/2279 修改editor/_source/classes/fckenterkey.js文件
1
2
3
4
if ( FCKBrowserInfo.IsSafari )
FCKDomTools.ScrollIntoView( eNextBlock || eNewBlock, false ) ;
else if ( FCKBrowserInfo.IsGeckoLike )
( eNextBlock || eNewBlock ).scrollIntoView( false ) ;

改成
1
2
if ( FCKBrowserInfo.IsGeckoLike )
FCKDomTools.ScrollIntoView( eNextBlock || eNewBlock, false ) ;

但是修改用的文件需要重新编译才行,程序具体的调用的js存放在editor/js文件夹中,如何编译见:http://docs.cksource.com/FCKeditor_2.x/Developers_Guide/Customization/Scripts_Compression

首先下载fckpackager.exe文件,把改文件放在fckeditor根目录,运行该文件后会把_source中的文件编译到editor/js文件夹中对应的fckeditorcode_gecko.js和fckeditorcode_ie.js文件中。

  评论这张
 
阅读(893)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018