zblog使用的是FCKeditor編輯器,我雖然使用了3年,但是也只是用過那些常用的功能而已,例如插入圖片、flash,文字粗體斜體加下劃線、文字顏色變換、插入表格等,還有我知道的是按回車鍵就是分段。
其實,F(xiàn)CKeditor編輯器,基本上我們文章編輯需要的功能它都有,只不過有的功能比較隱晦我們沒有發(fā)現(xiàn)而已。
換行符原來是這樣打出來的
前兩天,我在zblog寫文章時,本來是要分段,卻無意中按了“Shift+Enter”的組合鍵,竟然,發(fā)現(xiàn)出來的不是分段而是換行符!分段符是<p></p>,換行符是<br>。
一時之間,我有種得來全不費工夫的感覺,因為以前我一直都不知道怎樣才能敲出換行符。我也因此責怪過FCKeditor,因為當我要換行時,我不得不通過手動編輯html代碼來實現(xiàn)。
dedecms也是使用FCKeditor
據(jù)觀察,dedecms默認也是使用FCKeditor編輯器,使用方法跟zblog里一樣,同樣的,換行符需要按“Shift+Enter”的組合鍵,單獨按“Enter”鍵是分段。
FCKeditor常見使用技巧
今天查閱了一下有關FCKeditor的使用介紹,發(fā)現(xiàn)原來FCKeditor還有很多我們不知道的使用技巧。
1、默認語言
打開fckconfig.js文件(相對FCKeditor文件夾,以下同),把自動檢測語言改為不檢測,把默認語言改為簡體中文:
程序代碼
FCKConfig.AutoDetectLanguage = false ;FCKConfig.DefaultLanguage = 'zh-cn' ;
2、字體列表
打開fckconfig.js文件,在字體列表中添加常用的“宋體;黑體;隸書;楷體_GB2312”:
程序代碼
FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
3、文件上傳
FCKeditor的文件管理程序在filemanager文件夾中,又分為瀏覽(browser)和上傳(upload)兩種。瀏覽是指瀏覽服務器文件并可以選擇,也可以上傳本地文件至服務器;上傳是指快速上傳(QuickUpload),在窗口中點“上傳”選項卡打開就是,跟我們使用的UBB編輯器有點相似,選擇本地文件后上傳就行。
也就是說FCKeditor中有一個文件瀏覽,有兩個文件上傳,而這些設置有些在一個文件中,有的則在多個文件中。比較復雜,改動比較多,我們再分幾個小點兒來說。
①打開和關閉文件瀏覽和上傳功能
有三個文件跟這個開關有關系,一個是js文件,兩個是asp文件,前者關閉后界面中不出現(xiàn)相關窗口或按鈕,后者關閉后相關功能不可用。首先是fckconfig.js文件,以下內(nèi)容設為true為開,false則為關。
文件瀏覽和瀏覽中上傳功能:
程序代碼
FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;
文件快速上傳功能:
程序代碼
FCKConfig.LinkUpload = true ;
FCKConfig.ImageUpload = true ;
FCKConfig.FlashUpload = true ;
其次設置兩個asp文件:
editor\filemanager\browser\default\connectors\asp\config.asp
程序代碼
ConfigIsEnabled = False
表示文件瀏覽關閉
editor\filemanager\upload\asp\config.asp
程序代碼
ConfigIsEnabled = True
表示文件快速上傳打開
②文件上傳或瀏覽的路徑設置
注意FCKeditor是不支持虛擬目錄的,您的所有路徑都是針對網(wǎng)站根目錄的絕對路徑,這點對于在本地測試用虛擬目錄,發(fā)布到遠程用網(wǎng)站目錄的開發(fā)者不太方便。我的就是這樣,WinXP系統(tǒng)只能一個站點,只有用虛擬目錄表示不同的網(wǎng)站,在本地測試好了,上傳前還要臨時更改這個設置。
文件瀏覽路徑,打開文件editor\filemanager\browser\default\connectors\asp\config.asp:
程序代碼
ConfigUserFilesPath = "/attachments/"
快速上傳的路徑,打開文件editor\filemanager\upload\asp\config.asp:
程序代碼
ConfigUserFilesPath = "/attachments/"
我的文件目錄在http://127.0.0.1/temp/下面,就照以上設置。如果在本地測試這個網(wǎng)站在虛擬目錄xxx中,則應該設置為:
程序代碼
ConfigUserFilesPath = "/127.0.0.1/temp/"
③文件快速上傳的一個源文件BUG
以上設置好后,文件瀏覽和瀏覽中上傳可以順利進行,但是你會發(fā)現(xiàn)“快速上傳”不能用?,F(xiàn)象就是當選擇好本地文件后,點擊“上傳至服務器”的按鈕后沒有任何反應。這就是因為fckconfig.js文件中的一個bug所致。
打開fckconfig.js文件,把FCKConfig.QuickUploadLanguage字樣的地方,替換成_QuickUploadLanguage,一共要替換三個地方。前者沒有定義就使用,所以有錯,按代碼意圖應該和后者的值一樣的。
④上傳文件名自動更名
FCKeditor不支持中文文件名稱,所以我們要讓文件存入服務器時更改名稱。由于有兩個上傳的地方,而且所用文件不同,所以兩個文件應該同時改,我們先來看看快速上傳的文件,打開editor\filemanager\upload\asp\upload.asp,在文件最后添加以下函數(shù):
程序代碼
Public Function GetNewFileName()
dim ranNum
dim dtNow
dtNow=Now()
randomize
ranNum=int(90*rnd)+10
GetNewFileName=year
(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
End Function
我們用年月日時分秒和兩位隨機數(shù)字來作為文件名,這樣既能夠分辨出文件上傳時間,也不容易重名。
然后仍然是這個文件,找到:
程序代碼
' Get the uploaded file name.
sFileName = oUploader.File( "NewFile" ).Name
把它改為:
程序代碼
' Get the uploaded file name.
sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".")
上面說的是快速上傳的文件,而文件瀏覽中上傳則是更改另外一個文件(editor\filemanager\browser\default\connectors\asp\commands.asp),其修改方法和上面那個文件一樣:添加一個函數(shù),修改一行代碼。