« 内存位置访问无效@IIS+php环境
(转)KingCMS安装在Godaddy修改记录 »

{转}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进行修改

其他有问题给我留言吧。

原文地址:

http://www.s-un.cn/Article/program-code/KingCMS-Ad-Editor-Change-2008-10-06-138/KingCMS-Ad-Editor-Change.shtml

 

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。