FCKeditor添加自定義按鈕
在FCKeditor目錄里的fckconfig.js打開,找到FCKConfig.ToolbarSets["Default"] 這里的設(shè)置是配置功能按鈕的,你需要的留下,不需要的可以刪掉,也可以注釋掉。
如需要多種配置,可以設(shè)置多個FCKConfig.ToolbarSets["你自己命個名name"] 后面跟配置詳情。在引用編輯器的時候,以PHP為例:把fckeditor.php復(fù)制一個命名fckeditor1.php,在這里可以改配置。($this->ToolbarSet= '你自己命的名name' ;)
<?php
include("editor/fckeditor1.php") ;//這里調(diào)用
$oFCKeditor = new FCKeditor('FormContent') ;//實例化
$oFCKeditor->BasePath = 'editor/';//這個路徑一定要和上面那個引入路徑一致,否則會報錯:找不到fckeditor.html頁面
//$oFCKeditor->Value = '' ;
$oFCKeditor->Width = '100%' ;
$oFCKeditor->Height = '300' ;
$oFCKeditor->Create() ;
?>
下面是其他網(wǎng)友的補充,很詳細(xì),也可以參考下:
FCKeditor是一款非常流行的WEB可視化編輯器,其程序的的成熟度也非常高、功能豐富,但是再豐富也無法完全滿足我們的實際要求,有時我們還是需要增加一些自己的功能。但FCKeditor的程序結(jié)構(gòu)還是比較復(fù)雜的,對JS不是很了解的人很難對其靈活定制,本文就如何為FCKeditor的工具條增加一個打開我的像冊的自定義按鈕做一介紹。
先看看效果:
增加按鈕有以下幾步:
1、為按鈕增加圖片:
FCK的所有按鈕圖片是存放在一個圖片文件里的,這一點比較獨特,文件存放在相應(yīng)皮膚目錄下,如:/FCK/skins/silever/fck_strip.gif。通過Fireworks或Phtoshop打開該文件可以發(fā)現(xiàn)一個很長的圖片,里面包含所有按鈕的圖片,現(xiàn)在您可以在該圖片的最下面增加您自定義的按鈕,注意,每個按鈕的尺寸是16*16px。
2、為按鈕增加功能代碼:
增加按鈕需要對FCK/editor/js目錄中的兩個核心文件進(jìn)行修改:fckeditorcode_gecko.js和fckeditorcode_ie.js,前者是使用于gecko核心的瀏覽器如Firefox等,而后者應(yīng)用于以IE為核心的瀏覽器如MyIE(傲游)等,這兩個文件大體是相似的,僅有微小差別,在此我們基本無須擔(dān)心。
修改的方法非常簡單,基本是一個照葫蘆畫瓢的過程,首先我們找一個與我們將要添加的按鈕功能相似的一個按鈕,這里我們選擇了Newpage,這是一個清空編輯器以備新建一個文件的按鈕。首先我們修改fckeditorcode_ie.js,fckeditorcode_gecko.js直接復(fù)制更改的代碼就可以了。
打開fckeditorcode_ie.js,這里需要說明的是,fckeditorcode_ie.js是多個文件合并經(jīng)過代碼優(yōu)化的(即去掉了大部分換行、空格、注釋等)不是很容易閱讀,而且這樣一百多K的JS文件用Dreamweaver、ZDE等工具打開后CPU立刻升至100%,相信計算機(jī)就變成癡呆一樣了,經(jīng)過一翻比較,發(fā)現(xiàn)曾被我認(rèn)為一文不值的Golive竟然可以輕松打開該文件并快速編輯!不管你用什么軟件反正能打開并編輯就行了。以關(guān)鍵詞Newpage進(jìn)行查找,你會發(fā)現(xiàn)一個按鈕的功能定義分三大部分:
A、功能原型
// 按鈕功能原型
var FCKNewPageCommand=function(){this.Name='NewPage';};
FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};
FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};
var FCKMyAlbumCommand=function(){this.Name='DISPLAY: none';};
FCKMyAlbumCommand.prototype.Execute=function(){if(typeof(parent.showMyAlbum)=="function"){parent.showMyAlbum(FCK);}else{alert(FCKLang.NoAlbum);}};
FCKMyAlbumCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};
B、功能的實例化
case 'NewPage':B=new FCKNewPageCommand();break;
case 'MyAlbum':B=new FCKMyAlbumCommand();break;
C、按鈕的顯示
case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;
case 'MyAlbum':B=new FCKToolbarButton('MyAlbum',FCKLang.MyAlbum,null,null,true,null,67);break;
上面代碼中第一部分是Newpage的原代碼,后一部分是我們自定義的代碼,您一看應(yīng)該明白怎么回事了吧?僅紅色部分和名稱不同而已!而紅色部分就是我們的自定義功能。
FCKLang是語言包對象,您只要打開FCK/editor/lang/下面的相應(yīng)語言包添加相應(yīng)的名稱屬性就可以了,比如:MyAlbum打開我的像冊。注意大小寫!至此我們的添加工作已完成。
相關(guān)文章
php過濾所有惡意字符(批量過濾post,get敏感數(shù)據(jù))
最近dedecms報漏洞不斷,這里分享下php的過濾函數(shù),大牛飄過吧,給小黑闊們學(xué)習(xí)交流用2014-03-03php編程實現(xiàn)簡單的網(wǎng)頁版計算器功能示例
這篇文章主要介紹了php編程實現(xiàn)簡單的網(wǎng)頁版計算器功能,涉及php簡單表單操作與數(shù)值運算相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-04-04yii2項目實戰(zhàn)之restful api授權(quán)驗證詳解
這篇文章主要給大家介紹了關(guān)于yii2項目實戰(zhàn)之restful api授權(quán)驗證的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05phpword插件導(dǎo)出word文件時中文亂碼問題處理方案
PHPWord是一個可以把相關(guān)文件生成word文檔的插件了,但由于是老外開發(fā)的對于gbk支持不好,所以我們在導(dǎo)出帶有中文的word時會出現(xiàn)亂碼問題,下面本文就PHPWord中文亂碼問題介紹一些解決方法。2014-08-08