程序员人生 网站导航

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

栏目:帝国CMS时间:2013-11-11 21:17:47
原文地址:帝国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后台的朋友们分享,可以减少探索解决方案的时间
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐