FCKeditor的精简及修改 |
|
来源:互联网 作者:网络转载 发布时间:2007-12-20 |
|
|
删除所有”_”开头的文件和文件夹 删除FCKeditor的目录下: fckeditor.afp fckeditor.asp fckeditor.cfc fckeditor.cfm fckeditor.lasso fckeditor.pl fckeditor.py htaccess.txt license.txt 删除语言包editor\lang中除中文和英文以外的语言 删除skin目录下除默认皮肤以外的文件夹 filemanager/browser/default/connectors/目录下除php以外的文件 filemanager/upload/目录下除php以外的文件 如果你不想要表情包 删除 editor\images\smiley下的msn文件夹及表情按钮 好了 精简完毕
修改:
路径修改: fckeditor.js中的this.BasePath改为编辑器所在文件夹名 fckeditor_php4.php和fckeditor_php5.php中的BasePath改为编辑器所在文件夹名
编辑器宽度和高度: fckeditor_php4.php和fckeditor_php5.php
$this->Width = '100%' ; //编辑器宽度 $this->Height = '200' ; //高度 $this->ToolbarSet = 'Default' ; //工具栏样式 Default 或者Basic
fckconfig.js中修改 常用的 FCKConfig.DefaultLanguage = 'zh-cn' ;//这个是默认语言包 繁体是zh phperz.com FCKConfig.TabSpaces = 1 ;//允许在编辑器中使用Tab键 ‘0’为禁止 FCKConfig.ToolbarSets["Default"] = //在这里修改工具栏的图标按钮 有很多功能用不上 可以在这精简 FCKConfig.EnterMode = 'p' ; // p | div | br 定义回车键 FCKConfig.ShiftEnterMode = 'br' ; // p | div | br 定义shift+回车键 FCKConfig.Keystrokes = //这里定义键盘快建方式 如ctrl+c ctrl+a ctrl+x FCKConfig.FontNames //定义字体 FCKConfig.FontSizes //定义文字大小 var _FileBrowserLanguage = 'php' ; var _QuickUploadLanguage = 'php' ;//指定文件浏览及上传使用的语言 我用的php FCKConfig.SmileyPath = //这以下的就是定义表情了
editor\filemanager\browser\default\connectors\php\config.php editor\filemanager\upload\php\config.php $Config[’Enabled’] 是否允许上传 $Config[’UserFilesPath’] 默认上传路径
增加按钮有以下几步:
1、为按钮增加图片: FCK的所有按钮图片是存放在一个图片文件里的,这一点比较独特,文件存放在相应皮肤目录下,如:/FCK/skins/silever/fck_strip.gif。通过Fireworks或Phtoshop打开该文件可以发现一个很长的图片,里面包含所有按钮的图片,现在您可以在该图片的最下面增加您自定义的按钮,注意,每个按钮的尺寸是16*16px。 php程序员站
2、为按钮增加功能代码: 增加按钮需要对FCK/editor/js目录中的两个核心文件进行修改:fckeditorcode_gecko.js和fckeditorcode_ie.js,前者是使用于gecko核心的浏览器如Firefox等,而后者应用于以IE为核心的浏览器如MyIE(傲游)等,这两个文件大体是相似的,仅有微小差别,在此我们基本无须担心。 修改的方法非常简单,基本是一个照葫芦画瓢的过程,首先我们找一个与我们将要添加的按钮功能相似的一个按钮,这里我们选择了Newpage,这是一个清空编辑器以备新建一个文件的按钮。首先我们修改fckeditorcode_ie.js,fckeditorcode_gecko.js直接复制更改的代码就可以了。
打开fckeditorcode_ie.js,你会发现一个按钮的功能定义分三大部分:
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);}}; php程序员站 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的原代码,后一部分是我们自定义的代码,您一看应该明白怎么回事了吧?仅红色部分和名称不同而已!而红色部分就是我们的自定义功能。 FCKLang是语言包对象,您只要打开FCK/editor/lang/下面的相应语言包添加相应的名称属性就可以了,比如:MyAlbum打开我的像册。注意大小写!至此我们的添加工作已完成。 php程序员之家
|
|
[收藏此页] [打印本页] [返回顶部] |
|
|
|
|
|
|
|
|
|