国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 帝国CMS > [转载]帝国cms修改编辑器的预览功能

[转载]帝国cms修改编辑器的预览功能

来源:程序员人生   发布时间:2013-11-11 21:17:47 阅读次数:4180次
原文地址:帝国cms修改编辑器的预览功能作者:白头豕
帝国CMS的投稿和录入界面没有专门的"预览"功能。fckeditor编辑器里倒是有一个预览,只是功能比较简陋,得到的预览页面没有特别的样式,与网站本身内容页的效果相差甚远。

解决这个问题其实很简单,只要修改fckeditor的两个js文件:fckeditorcode_gecko.js和fckeditorcode_ie.js。

这两个文件在帝国cms的后台文件里有两个位置,一个是在../e/data/ecmseditor/infoeditor/editor/js/下面,用于前台投稿处。一个是在 ../e/admin/ecmseditor/infoeditor/editor/js/下面,用于后台录入和修改处的编辑器.

在这两个文件中找到这一段:

Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();elseA=FCK.GetXHTML();}else{A=FCKConfig.DocType+'<htmldir="'+FCKConfig.ContentLangDirection+'"><head>'+FCK.TempBaseTag+'<title>'+FCKLang.Preview+'</title>'+_FCK_GetEditorAreaStyleTags()+'</head><body'+FCKConfig.GetBodyAttributes()+'>'+FCK.GetXHTML()+'</body></html>';};

接下来很明显,只要在<head>标记中加入内容页的样式表,在<body>标记中加入内容区块的容器就可以了.只是要测试效果时,得把浏览器缓存中的两个js文件都更新一遍

需要注意的是,FCKEDITOR在调用编辑器时,所处的路径为 ../e/data/ecmseditor/infoeditor/editor/或 ../e/admin/ecmseditor/infoeditor/editor/ ,在预览页调用样式表时最好使用与此相关的相对路径.

此外推荐在后台编辑器中加上敏感词高亮的js,这样就可以简单实现 预览+敏感词高亮了~

方法很简单,给不了解帝国cms后台的朋友们分享,可以减少探索解决方案的时间
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生