{转}KingCMS广告菜单编辑器修改
为了自己更新的方便,还是将KingCMS的编辑器改了一下,找了好几个编辑器,不是传输数据有问题就是不符合XHTML编码,有个不错呢又不能上传图片,而KingCMS自带的FCKeditor编辑器会自动加上<p>和<br />,最后找到了这个精简版本的FCKeditor,改好的效果如下,这个编辑器和KingCMS自带的部分是分开的,也就是说后台无论如何修改编辑器的属性不影响这里。
上传部分的代码是用的最新的FCKeditor部分,尽量避免漏洞的威胁吧,至于有没有没空研究了。
先下载这个文件压缩包 解压到KingCMS的Admin/System/editor/目录下,确保直接路径应该是这样
Admin/System/editor/SmallEditor/fckconfig.js
Admin/System/editor/SmallEditor/editor/fckeditor.html
如果自行修改了Admin目录的名称,根据需要自行修改。
现在来修改程序,我提供两种方式的修改吧,打开page/system/fun.asp,搜索 'form_editor
第一种方式是在后台的选择编辑器中可以选择 ,那么找到这个部分
public sub form_editor(l1,l2,l3,l4)
dim I1,configpath
if cstr(l4)="0" then l4=""
Il "<p id=""editor""><label>"&l2&"</label>"
select case lcase(r_editor)
case lcase(king_fckeditor_path)
dim ofckeditor
set ofckeditor=new fckeditor
' ofckeditor.toolbarset="Default"
ofckeditor.basepath="../system/editor/"&king_fckeditor_path&"/"
ofckeditor.value=l3
ofckeditor.create l1
set ofckeditor=nothing
case"ewebeditor"
在case"ewebeditor"上面插入下面这一段
case"samlleditor"
dim sfckeditor
set sfckeditor=new fckeditor
sfckeditor.toolbarset="Default"
sfckeditor.Width= "90%"
sfckeditor.basepath="../system/editor/SmallEditor/"
sfckeditor.value=l3
sfckeditor.create l1
set sfckeditor=nothing
保存就可以了,这样后台应该可以选择samlleditor了,选择后所有的编辑器都变成了这个,然后找到Admin/ad/index.asp
找到这段代码
<textarea name=""adtext"" rows=""15"" cols=""10"" class=""in5"">"&formencode(data(1,0))&"</textarea>"
Il king.check("adtext|0|"&encode(ad.lang("check/text")))
将其注释掉,然后加入
Il king.form_editor("adtext",ad.lang("label/text"),data(1,0),"adtext|0|"&encode(ad.lang("check/text")))
就大功告成了
第二种方法其实很简单
将public sub form_editor(l1,l2,l3,l4)这个函数整段复制出来,去掉中间不要的比如case"ewebeditor" 和case"codepress"部分,如下,加入橙色部分
public sub form_smalleditor(l1,l2,l3,l4)
dim I1,configpath
if cstr(l4)="0" then l4=""
Il "<p id=""editor""><label>"&l2&"</label>"
select case lcase("samlleditor")
case lcase(king_fckeditor_path)
dim ofckeditor
set ofckeditor=new fckeditor
ofckeditor.toolbarset="Default"
ofckeditor.basepath="../system/editor/"&king_fckeditor_path&"/"
ofckeditor.value=l3
ofckeditor.create l1
set ofckeditor=nothing
case"samlleditor"
dim sfckeditor
set sfckeditor=new fckeditor
sfckeditor.toolbarset="Default"
sfckeditor.Width= "90%"
sfckeditor.basepath="../system/editor/SmallEditor/"
sfckeditor.value=l3
sfckeditor.create l1
set sfckeditor=nothing
case else'包括html
configpath="../system/editor"&r_editor&"/config.inc"
if isexist(configpath) then
I1=readfile(configpath)'读取内容
I1=replace(I1,"{king:break/}",hem2js(king_break))'换行代码
I1=replace(I1,"{king:value/}",formencode(l3))'内容替换
I1=replace(I1,"{king:name/}",l1)'name替换
Il I1
else
Il "<style type=""text/css"">@import ""../system/editor/html/style.css"";</style>"
Il "<script type=""text/javascript"">var textbox='"&l1&"';var king_break='"&htm2js(king_break)&"'</script>"
Il "<script src=""../system/editor/html/htm.js"" type=""text/javascript""></script>"
Il "<img src=""../system/editor/html/button.gif"" onclick=""javascript:gethtml(this,event);"" onmousemove=""showTitle(this,event);"" id=""k_htmimg""/>"
Il "<br />"
Il "<div id=""k_color""><img src=""../system/editor/html/color.gif"" onclick=""javascript:getIndex(this,event);"" onmousemove=""showColor(this,event)""/></div>"
Il "<iframe style=""width:0;height:0;border:0;"" id=""dtf""></iframe>"
Il "<textarea name="""&l1&""" rows=""25"" cols=""100"" id=""txt"" onclick=""javascript:storeCaret(this);hiddenDiv();"">"&formencode(l3)&"</textarea>"
Il "<script type=""text/javascript"">txtContent=document.getElementById(""txt"");dtf=document.getElementById(""dtf"");</script>"
end if
end select
Il king.check(l4)
Il "</p>"
end sub
然后打开Admin/ad/index.asp,对应的将
<textarea name=""adtext"" rows=""15"" cols=""10"" class=""in5"">"&formencode(data(1,0))&"</textarea>"
Il king.check("adtext|0|"&encode(ad.lang("check/text")))
将其注释掉,然后加入
Il king.form_smalleditor("adtext",ad.lang("label/text"),data(1,0),"adtext|0|"&encode(ad.lang("check/text")))
这样广告系统的编辑器就和整站的分开了,要修改就自己动手修改了。
另外附带说两句Fckeditor我打开了上传ConfigIsEnabled = True,关闭的话改成False,设置了上传的目录为ConfigUserFilesPath = "/up-files/image/other/"
修改的话自行打开SmallEditor/editor/filemanager/upload/asp/config.asp进行修改
原文地址: