很久没更新博客了,最近一直在写一个asp+access的网站管理系统,弄的头晕眼花的。由于网站需要一个可视化编辑器,我在同类产品的对比下,选择了Fckconfig,而选择的最大原因,在于兼容性比同类产品好。刚接触这东西不太懂,网上搜罗了一些资料,整合了一下,看的刚方便。我自己使用的是Fckconfig 2.6.5,根据下面的方法测试成功,没出什么问题。

fckeditor的官方网站去下载最新版本:
http://www.fckeditor.net/ 
和其他脚本类的程序一样,fckeditor的安装其实就是源代码的拷贝。我们按照官方的方法,在网站根目录下建立fckeditor这样一个文件夹,然后把下载下来的文件包释放到该文件夹中。
安装好后,就是配置和使用了,我只对一般的使用(asp环境)进行了配置,复杂应用不去管它。配置时需要改动几个文件,我们按功能来分,不按文件来分,这样读者更容易明白。

首先进行一下精简(优化)
根目录下:fckconfig.js、fckeditor.asp、 fckeditor.js、fckstyles.xml、fcktemplates.xml 这几个保留,其余的全部去除;
子目录下:editor\filemanager\connectors目录中 把asp目录留下(上传用什么方法就留下什么)
        其余的方法目录 删除(注意留下test.html 和 uploadtest.html)editor\lang 语言目 把 en.js 、 zh.js 、 zh-cn.js 留下,其余全部删除

1、默认语言
打开fckconfig.js文件(相对fckeditor文件夹,以下同),把自动检测语言改为不检测,把默认语言改为简体中文:

程序代码

fckconfig.autodetectlanguage = false ;
fckconfig.defaultlanguage  = 'zh-cn' ;

2、字体列表
打开fckconfig.js文件,在字体列表中添加常用的“宋体;黑体;隶书;楷体_gb2312”:

程序代码

fckconfig.fontnames  = '宋体;黑体;隶书;楷体_gb2312;arial;comic sans ms;courier new;tahoma;times new roman;verdana' ;

3、文件上传
fckeditor的文件管理程序在filemanager文件夹中,又分为浏览(browser)和上传(upload)两种。浏览是指浏览服务器文件并可以选择,也可以上传本地文件至服务器;上传是指快速上传(quickupload),在窗口中点“上传”选项卡打开就是,跟我们使用的ubb编辑器有点相似,选择本地文件后上传就行。
也就是说fckeditor中有一个文件浏览,有两个文件上传,而这些设置有些在一个文件中,有的则在多个文件中。比较复杂,改动比较多,我们再分几个小点儿来说。

①打开和关闭文件浏览和上传功能
有三个文件跟这个开关有关系,一个是js文件,两个是asp文件,前者关闭后界面中不出现相关窗口或按钮,后者关闭后相关功能不可用。
首先是fckconfig.js文件,以下内容设为true为开,false则为关。
文件浏览和浏览中上传功能:

程序代码

fckconfig.linkbrowser = false ;
fckconfig.imagebrowser = false ;
fckconfig.flashbrowser = false ;

文件快速上传功能:

程序代码

fckconfig.linkupload = true ;
fckconfig.imageupload = true ;
fckconfig.flashupload = true ;

其次设置两个asp文件:
editor\filemanager\browser\default\connectors\asp\config.asp

程序代码

configisenabled = false

表示文件浏览关闭

editor\filemanager\browser\default\connectors\asp\config.asp

程序代码
configisenabled = true

表示文件快速上传打开

②文件上传
上传的路径设置:
打开文件editor\filemanager\browser\default\connectors\asp\config.asp:

程序代码

configuserfilespath = "/userfiles/"

我的文件目录在http://www.ie521.com/userfiles/下面,就照以上设置。
如果在本地测试这个网站在虚拟目录test中,则应该设置为:

程序代码
configuserfilespath = "/test/userfiles/"

现在测试一下,点击“上传至服务器”的按钮后没有任何反应。这就是因为fckconfig.js文件中把默认语言"php"改成"asp".

程序代码

var _filebrowserlanguage    = 'php' ;    // asp | aspx | cfm | lasso | perl | php | py
var _quickuploadlanguage    = 'php' ;    // asp | aspx | cfm | lasso | perl | php | py

④上传文件名自动更名
fckeditor不支持中文文件名称,所以我们要让文件存入服务器时更改名称。由于有两个上传的地方,而且所用文件不同,所以两个文件应该同时改,我们先来看看快速上传的文件,打开editor\filemanager\browser\default\connectors\asp\upload.asp,在文件最后添加以下函数:

我是在fileupload sresourcetype, scurrentfolder, scommand下面加的这个函数~

程序代码

    public function getnewfilename()
     dim rannum
     dim dtnow
     dtnow=now()
     randomize
     rannum=int(90*rnd)+10
     getnewfilename=year(dtnow) & right("0" & month(dtnow),2) & right("0" & day(dtnow),2) & right("0" & hour(dtnow),2) & right("0" & minute(dtnow),2) & right("0" & second(dtnow),2) & rannum
    end function

我们用年月日时分秒和两位随机数字来作为文件名,这样既能够分辨出文件上传时间,也不容易重名。

然后仍然是这个文件editor\filemanager\editor\filemanager\connectors\asp\commands.asp,找到:

程序代码

' get the uploaded file name.
sfilename    = ouploader.file( "newfile" ).name

把它改为:

程序代码

' get the uploaded file name.
sfilename   = getnewfilename() &"."& split(ouploader.file( "newfile" ).name,".")(1)

最后一步:
在asp源程序中引用fckeditor编辑器
首先在asp页面顶端插入服务器端包含语句:

程序代码
<!--#include file="fckeditor/fckeditor.asp" -->

然后在表单里面添加以下代码:

程序代码

dim ofckeditor' 定义变量
set ofckeditor = new fckeditor' 类的初始化
ofckeditor.basepath    = "/fckeditor/"' 定义路径(这是根路径:/fckeditor/)
ofckeditor.basepath="fckeditor/"' 定义工具条(默认为:default)
ofckeditor.toolbarset="basic"' 定义宽度(默认宽度:100%)
ofckeditor.width="100%"' 定义高度(默认高度:200)
ofckeditor.height=350' 输入框的初始值
ofckeditor.value="这是示例文本。"
ofckeditor.create "fckeditor1"

这样就在表单里面创建了一个隐藏的名称为content的输入框,可以和其他表单元素一样使用,例如用以下代码取得该输入框的值:

程序代码
dim content
content=    checkstr(request.form("fckeditor1"))

备注(这是我根据上面步骤后设置 使用当中出现的问题解决办法):
当上传图片时有可能遇到"this connector is disabled Please check the"editor/filemanager/connectors/asp/config.asp"的错误
这时可以更改fckeditor\editor\filemanager\connectors\asp\config.asp的ConfigIsEnabled()方法,返回true.

Fckeditor使用,点击上传,弹出窗口并提示 you have no permissions to create the folder。
检查FCKeditor\editor\filemanager\connectors\asp\config.asp 中的 ConfigUserFilesPath = "/upFile/" 文件夹路径是否写对,试用相对路径写下,如果不弹出来,说明绝对路径的写法有错。修改即可。