23-FCKEditor參數配置詳解(PHP方法)

23-FCKEditor參數配置詳解(PHP方法)
 
 今天咱們來看一下經過PHP來實現編輯器配置的方法。

經過PHP實現的編輯器的編輯方法也是很簡單的,其關鍵是經過Config屬性來實現的,其語法結構是:

$oFCKeditor->Config[「屬性名稱」] = "值";

初始狀態以下:
 
咱們就來舉個例子吧!
$oFCKeditor = new FCKeditor ( "content" );
 
$oFCKeditor ->Width = "100%";
 
$oFCKeditor ->Height = "350";
 
$oFCKeditor ->ToolbarSet = "Default";
 
$oFCKeditor ->BasePath = "/fckeditor/fckeditor/";
 
$oFCKeditor ->Config[ "BasePath" ] = $oFCKeditor->BasePath ."editor/";
 
$oFCKeditor ->Config ["FontNames"] = " 宋體 ; 隸書 ; 華文行楷 ;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana" ;
 
$oFCKeditor ->Config[ "FontFormats" ] = "p;h1;h2;h3";
 
$oFCKeditor ->Config ["FontSizes"] = "12px;14px;16px;18px;20px;24px;28px;smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large";
 
在上述的的配置中,咱們修改了字體、字號及文本的格式化
 
運行效果以下:
 
 
 
 
好了,如今咱們來設置一下表情吧!
 
 
$oFCKeditor ->Config[ "SmileyPath" ] = $oFCKeditor->Config["BasePath"] . "p_w_picpaths/smiley/QQFace/";
 
$oFCKeditor ->Config[ "SmileyImages" ] = "1.gif,2.gif";
 
運行效果以下:
 
 
唉,怎麼看不到圖片呢!

若是看不到圖片,那只有可能圖片的路徑或文件名稱引用錯誤,咱們來找一下問題所在吧!

因此,我找到了editor\dialog\fck_smiley.html(這是一個讀取表情的文件)
 
 
先修改一下下再說! ( 紅色代碼部分 )
< script type = "text/javascript" >
 
var FCKConfig = oEditor.FCKConfig ;
 
var sBasePath  = FCKConfig.SmileyPath ;
 
var aImages       = FCKConfig.SmileyImages ;
 
var iCols      = FCKConfig.SmileyColumns ;
 
var iColWidth  = parseInt( 100 / iCols, 10 ) ;
 
var i = 0 ;
 
while (i < aImages.length)
{
    document.write( '<tr>' ) ;
 
    for ( var j = 0 ; j < iCols ; j++)
 
    {
 
       if (aImages[i])
 
       {
 
           var sUrl = sBasePath + aImages[i] ;
 
           document.write( '<td width="' + iColWidth + '%" align="center" class="DarkBackground Hand" + sUrl.replace(/ '/g, "\\'" ) + '\')" onmouseover= "over(this)" onmouseout= "out(this)" > ' ) ;
 
           document.write(sUrl + "&nbsp;" + sBasePath);
 
           document.write( '<img src="' + sUrl + '" border="0"/>'  ) ;
 
       }
 
       else
 
           document.write( '<td width="' + iColWidth + '%" class="DarkBackground">&nbsp;' ) ;
 
        document.write( '<\/td>' ) ;
 
       i++ ;
 
    }
 
    document.write( '<\/tr>' ) ;
 
}
 
 
  </ script >
 
效果以下:
 
 
 
啊,怎麼還這樣呀!換個瀏覽器! (Firefox)
 
仍是火狐呀!終於找到病竈所在了!(唉,其實仔細一下,也應該想得出來!要不是嫌疼,早抽本身一個大嘴巴了!哈哈哈)

由於,JS文件中須要的是一個數組,而經過PHP只能傳遞一個字符串!

那好辦呀,咱們只須要看看如今的aImages是數組仍是字符串,若是是字符串,那就按JS的辦法拆分爲數組,若是是數組,也就直接引用吧!

好了,如今關鍵問題是若是在JS中判斷一個變量是否爲數組呢!google一下吧!找到了!

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

 
OK, 大功告成!
 
 
咱們能夠中止呼吸,但決不能中止思考!
相關文章
相關標籤/搜索