您的位置:首页 > 编程语言 > PHP开发

23-FCKEditor参数配置详解(PHP方法)

2009-12-29 22:59 661 查看
[align=center]23-FCKEditor参数配置详解(PHP方法)[/align]

今天我们来看一下通过PHP来实现编辑器配置的方法。

通过PHP实现的编辑器的编辑方法也是很简单的,其关键是通过Config属性来实现的,其语法结构是:

$oFCKeditor->Config[“属性名称”] = "值";

初始状态如下:



我们就来举个例子吧!

[align=left]$oFCKeditor = new FCKeditor ( "content" );[/align]
[align=left] [/align]
[align=left]$oFCKeditor->Width = "100%";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->Height = "350";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->ToolbarSet = "Default";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->BasePath = "/fckeditor/fckeditor/";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->Config["BasePath"] = $oFCKeditor->BasePath ."editor/";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->Config ["FontNames"] = "宋体;隶书;华文行楷;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana";[/align]
[align=left] [/align]
[align=left]$oFCKeditor->Config["FontFormats"] = "p;h1;h2;h3";[/align]
[align=left] [/align]
$oFCKeditor->Config ["FontSizes"] = "12px;14px;16px;18px;20px;24px;28px;smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large";

在上述的的配置中,我们修改了字体、字号及文本的格式化

运行效果如下:



好了,现在我们来设置一下表情吧!

[align=left]$oFCKeditor->Config["SmileyPath"] = $oFCKeditor->Config["BasePath"] . "images/smiley/QQFace/";[/align]
[align=left] [/align]
$oFCKeditor->Config["SmileyImages"] = "1.gif,2.gif";

运行效果如下:



唉,怎么看不到图片呢!

如果看不到图片,那只有可能图片的路径或文件名称引用错误,我们来找一下问题所在吧!

所以,我找到了editor\dialog\fck_smiley.html(这是一个读取表情的文件)

先修改一下下再说!(红色代码部分)
<script type="text/javascript">

[align=left]var FCKConfig = oEditor.FCKConfig ;[/align]
[align=left] [/align]
[align=left]var sBasePath = FCKConfig.SmileyPath ;[/align]
[align=left] [/align]
[align=left]var aImages = FCKConfig.SmileyImages ;[/align]
[align=left] [/align]
[align=left]var iCols = FCKConfig.SmileyColumns ;[/align]
[align=left] [/align]
[align=left]var iColWidth = parseInt( 100 / iCols, 10 ) ;[/align]
[align=left] [/align]
[align=left]var i = 0 ;[/align]
[align=left] [/align]
[align=left]while (i < aImages.length)[/align]
[align=left]{[/align]
[align=left] document.write( '<tr>' ) ;[/align]
[align=left] [/align]
[align=left] for(var j = 0 ; j < iCols ; j++)[/align]
[align=left] [/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] if (aImages[i])[/align]
[align=left] [/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] var sUrl = sBasePath + aImages[i] ;[/align]
[align=left] [/align]
[align=left] document.write( '<td width="' + iColWidth + '%" align="center" class="DarkBackground Hand" + sUrl.replace(/'/g, "\\'" ) + '\')" onmouseover="over(this)" onmouseout="out(this)">' ) ;[/align]
[align=left] [/align]
[align=left] document.write(sUrl + " " + sBasePath);[/align]
[align=left] [/align]
[align=left] document.write( '<img src="' + sUrl + '" border="0"/>' ) ;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] else[/align]
[align=left] [/align]
[align=left] document.write( '<td width="' + iColWidth + '%" class="DarkBackground"> ' ) ;[/align]
[align=left] [/align]
[align=left] document.write( '<\/td>' ) ;[/align]
[align=left] [/align]
[align=left] i++ ;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] document.write('<\/tr>') ;[/align]
[align=left] [/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] </script>[/align]

效果如下:



[align=left] [/align]
[align=left] [/align]
啊,怎么还这样呀!换个浏览器!(Firefox)
[align=left] [/align]



[align=left]还是火狐呀!终于找到病灶所在了!(唉,其实仔细一下,也应该想得出来!要不是嫌疼,早抽自己一个大嘴巴了!哈哈哈)[/align]
[align=left]
因为,JS文件中需要的是一个数组,而通过PHP只能传递一个字符串![/align]
[align=left]
那好办呀,我们只需要看看现在的aImages是数组还是字符串,如果是字符串,那就按JS的办法拆分为数组,如果是数组,也就直接引用吧![/align]
[align=left]
好了,现在关键问题是如果在JS中判断一个变量是否为数组呢!google一下吧!找到了![/align]
[align=left]
[/align]
[align=left]function is_array(test)[/align]
[align=left]{[/align]
[align=left] if(typeof test == 'object' && typeof test.sort == 'function' && typeof test.length == 'number')[/align]
[align=left] {[/align]
[align=left] return true;[/align]
[align=left] }[/align]
[align=left] else[/align]
[align=left] {[/align]
[align=left] return false;[/align]
[align=left] }[/align]
}
[align=left] [/align]
[align=left]好了,代码修改如下:[/align]

[align=left]<script type="text/javascript">[/align]
[align=left]function is_array(test)[/align]
[align=left]{[/align]
[align=left] if(typeof test == 'object' && typeof test.sort == 'function' && typeof test.length == 'number')[/align]
[align=left] {[/align]
[align=left] return true;[/align]
[align=left] }[/align]
[align=left] else[/align]
[align=left] {[/align]
[align=left] return false;[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]var FCKConfig = oEditor.FCKConfig ;[/align]
[align=left]var sBasePath = FCKConfig.SmileyPath ;[/align]
[align=left]var aImages = FCKConfig.SmileyImages ;[/align]
[align=left]if(!is_array(aImages))[/align]
[align=left]aImages = aImages.split(",");[/align]
[align=left]var iCols = FCKConfig.SmileyColumns ;[/align]
[align=left]var iColWidth = parseInt( 100 / iCols, 10 ) ;[/align]
[align=left]var i = 0 ;[/align]
[align=left]while (i < aImages.length)[/align]
[align=left]{[/align]
[align=left] document.write( '<tr>' ) ;[/align]
[align=left] for(var j = 0 ; j < iCols ; j++)[/align]
[align=left] {[/align]
[align=left] if (aImages[i])[/align]
[align=left] {[/align]
[align=left] var sUrl = sBasePath + aImages[i] ;[/align]
[align=left] document.write( '<td width="' + iColWidth + '%" align="center" class="DarkBackground Hand" + sUrl.replace(/'/g, "\\'" ) + '\')" onmouseover="over(this)" onmouseout="out(this)">' ) ;[/align]
[align=left] document.write( '<img src="' + sUrl + '" border="0"/>' ) ;[/align]
[align=left] }[/align]
[align=left] else[/align]
[align=left] document.write( '<td width="' + iColWidth + '%" class="DarkBackground"> ' ) ;[/align]
[align=left] document.write( '<\/td>' ) ;[/align]
[align=left] i++ ;[/align]
[align=left] }[/align]
[align=left] document.write('<\/tr>') ;[/align]
[align=left]}[/align]
[align=left] [/align]
</script>

好了,试一下下吧!
[align=left]
[/align]



OK,大功告成!

[align=center]我们可以停止呼吸,但决不能停止思考![/align]

[align=center] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP 职场 休闲 FCKEditor