FCKeditor 是一个十分强大的网页文本编辑器,它支持多种脚本编程语言(包括 PHP)和支持多国语言。
FCKeditor 截至 2008年4月6日,其最新版本是 2.6RC,RC 就是 Release Candidate,修订后的候选版本,很可能作为该版本的稳定版在未来发布。目前的最新的稳定版(Latest Stable)是 2.5.1。我们可以到他的官方网站上去下载 http://www.FCKeditor.net 合适的版本,开源、免费的。
本文介绍 PHP 中的配置方法,其他语言的配置方法和它是基本一样的。
〇、假设网站的目录为:
以下为引用的内容: \website_root |
一、调用FCKeditor 的两种方法
1、通过创建实例来调用
在 index.php 文件中,调用它的代码,把下面的代码加在需要编辑器的地方:
以下为引用的内容: <Form name="frm1"> <?php //引用FCKeditor.php这个文件,基本的类和数据结构都在这里 include_once("FCKeditor/fckeditor.php"); //创建FCKeditor对象的实例。myFCKeditor即提交后,接收数据页面 _POST['myFCKeditor']使用 FCKeditor=new FCKeditor('myFCKeditor'); //FCKeditor所在的位置,这里它的位置就是'FCKeditor' 文件夹 FCKeditor->BasePath='./FCKeditor/'; //工具按钮设置 FCkeditor->ToolbarSet='Default'; //设置它的宽度 FCKeditor->Width='100%'; //设置它的高度 FCKeditor->Height='300px'; //生成 FCkeditor->Create(); ?> </Form> |
2、通过 IFRAME 调用
以下为引用的内容: <Form name="frm1"> <INPUT name="myFCKeditor" id="myFCKeditor" style="DISPLAY: none" type=hidden> <INPUT id="myFCKeditor___Config" style="DISPLAY: none" type=hidden> <IFRAME id="myFCKeditor___Frame" src="FCKeditor/editor/fckeditor.html?InstanceName=myFCKeditor&Toolbar=Default" frameBorder=0 width=100% scrolling=no height=300> </IFRAME> </Form> |
注意:name="myFCKeditor" 和 IFRAME 中 InstanceName=myFCKeditor 的“myFCKeditor”必须相同。
其实,用 IFRAME 调用和用第一种方法本质是完全一样的!不信的话,请在用浏览器打开网站上的 index.php 文件,然后查看“源代码”,就是本 IFRAME 调用的代码。所以推荐通过创建实例来调用。
3、当用 Javascript 来获得内容的时候是不是发现得不到内容,如:
<script>
<input type=button onclick="alert(document.all.frm1.myFCKeditor.value);" value="GetHtml">
</script>
你会发现弹谈出的窗口没内容。
我们可以通过下面的代码来获得它的内容:
以下为引用的内容: <script> function getContentValue() { var oEditor = FCKeditorAPI.GetInstance('myFCKeditor'); var acontent = oEditor.GetXHTML(); return acontent; } </script> <input type=button onclick="alert(getContentValue());"> |
二、配置一些文件
1、fckconfig.js的配置
(1)工具按钮设置
查找 FCKConfig.ToolbarSets["Default"],这里有很多按钮,下面我们将对他们详细介绍
EditSource 显示HTML源代码 |
这个默认的是包含了所有的工具按钮,但是有时有的按钮并不需要。那么我们可以将不需要的按钮给删了。下面是一个定制的配置,给大家一个参考。
以下为引用的内容: FCKconfig.ToolbarSets["Default"] = [ ['EditSource','Save','NewPage','Preview','-','Cut','Copy','Paste','PasteText','-','Find','Replace','-','Undo','Redo','-','SelectAll','-','Link','RemoveLink','-','Image','Table','Rule','SpecialChar','Smiley'] , ['Bold','Italic','Underline','-','JustifyLeft','JustifyCenter','JustifyRight','-','InsertOrderedList','InsertUnorderedList','-','Form','Checkbox','Radio','Input','Textarea','Select','Button','-','FontStyleAdv','TextColor'] ]; |
再例如:
以下为引用的内容: ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About'] ]; |
这样的话,你在前台调用的时候就要用 FCKeditor->ToolbarSet='Basic',不能再是"Default"了。
(2)语言的配置
查找FCKConfig.DefaultLanguage将它设置为'zh-cn'.
(3)脚本语言的设置
查找var _FileBrowserLanguage和var _QuickUploadLanguage将他们设置为'php', 默认是'asp',如果这里不设置的话,图片将不能上传,这点很重要。当时我在用FCKeditor由于没配置这个,不能上传图片,而我同寝室的用asp能上传图片,让我烦恼了好多天,最后终于找到是这个原因。
2、图片上传的配置
打开文件FCKeditor/editor/filemanager/browser/default/connectors/php/config.php:
查找Config['Enabled'],将它设置为'true';查找Config['UserFilesPath'],将它设置图片的目录,这个目录是相对于主目录的。
例如:我写了一个blog,就可以设置为/blog/upload/
打开文件FCKeditor/editor/filemanager/upload/php/config.php:
查找Config['Enabled'],将它设置为'true';查找Config['UseFileType'],将它设置上传文件的目录,最好与上面的图片目录相同。
好了,现在所有的配置都已经完成了,现在你要做的只是删除一些不必要的文件了。只要包含'_'的目录名和文件名都可以删除,这都是一些说明文件。因为我们用在 PHP 环境中,其他语言相关的一些文件也都可以删除。
本站补充:
如果你用其他语言,那么在你改变 FCKConfig.DefaultLanguage 的同时记得把
fckconfig.js中
FCKConfig.AutoDetectLanguage = "true" 改为 FCKConfig.AutoDetectLanguage = "false"
他的作用是自己动检查语言,
要不然你配置的语言有可能不起作用.