Thinkphp编辑器扩展类kindeditor用法
一,?使用前的準(zhǔn)備。
使用前請(qǐng)確認(rèn)你已經(jīng)建立好了一個(gè)Thinkphp站點(diǎn)項(xiàng)目。
1,Keditor.class.php和JSON.class.php?是編輯器擴(kuò)展類文件,將他們拷貝到你的站點(diǎn)項(xiàng)目的ThinkPHP\Lib\ORG\Net?目錄下。
2,editor目錄是kindeditor的核心包。將其拷貝到你項(xiàng)目的Public目錄下(和入口文件同級(jí)的那個(gè)Public),并在Public下再建立一個(gè)Upload目錄。用于存放使用編輯器上傳的圖片。
3,KeditorAction.class.php是編輯器的上傳圖片功能和瀏覽遠(yuǎn)程圖片功能,將其拷貝到你項(xiàng)目的lib\Action?目錄下。
二,?對(duì)象的調(diào)用
在控制器方法中調(diào)用對(duì)象:
在方法相應(yīng)的模版文件里顯示編輯器: <html> <head>{$keshow}</head><!--輸出js。建議放在head--> <body> <form id="form1" name="form1" method="post" action=""> <textarea name="content" id="content" cols="70" rows="20"><!-文本域。id為content--> </textarea> <input name="img" id="img" type="hidden" value="" /><!--隱藏域存儲(chǔ)編輯器上傳的圖片地址,id為img--> </form> </body> </html>
上面的是最簡(jiǎn)單的調(diào)用方法,擴(kuò)展類還有非常多屬性和方法。要想實(shí)現(xiàn)更完美的功能,接著往下讀。
三,?對(duì)象的屬性
???我把屬性分為兩種。一種是kindeditor自帶屬性,一種是擴(kuò)展新增屬性。假設(shè)你曾經(jīng)就使用過(guò)kindeditor,你應(yīng)該知道kindeditor自身有id、items、width、height、afterCreate等等30個(gè)屬性。這些屬性如今能夠用過(guò)php直接定義,比方定義id:$ke->id=”content”,定義寬度:$ke->width=”700px”;?我先說(shuō)對(duì)象新增屬性。
對(duì)象的新增屬性:
1。jspath:定義kindeditor的核心js文件。默認(rèn)值為/Public/editor/kindeditor.js?,假設(shè)你的editor目錄沒(méi)有放在Publib下須要指定此屬性,如$ke->jspath=”/kind/?kindeditor.js”;
2,form:指定提交的表單(from)的id。默覺(jué)得form1,這個(gè)屬性是結(jié)合ctrl+enter提交功能使用的。比方有個(gè)你的編輯器放在表單id為?“formid”內(nèi),要實(shí)現(xiàn)ctrl+enter提交formid表單。須要定義$ke->form=”formid”?。
??ctrl+enter提交功能還要設(shè)置其它屬性。后面再解說(shuō)。
3。imgid:指定存放圖片地址的隱藏域id。默覺(jué)得img。
編輯器每上傳一張圖片。會(huì)把圖片地址存儲(chǔ)到該隱藏域。在向數(shù)據(jù)庫(kù)加入數(shù)據(jù)時(shí),能夠把此隱藏域中的數(shù)據(jù)也保存到數(shù)據(jù)庫(kù)字段中。在刪除數(shù)據(jù)時(shí)候。先讀取數(shù)據(jù)庫(kù)存放的圖片地址,進(jìn)行刪除。刪除過(guò)程僅僅要調(diào)用對(duì)象的delimg方法就可以。此方法后面具體解釋。這樣就達(dá)到刪除內(nèi)容同一時(shí)候刪除圖片的目的。
自帶屬性:
1,items:配置編輯器的工具欄,定義方法如
$ke->items=”['source',?'|',?'fullscreen',?'undo',?'redo',?'print',?'cut',?'copy',?'paste']”;?
我添加了little關(guān)鍵詞,能夠高速定義一個(gè)精簡(jiǎn)模型的編輯器。用法$ke->items=”little”;
2,afterCreate:設(shè)置編輯器創(chuàng)建后運(yùn)行的回調(diào)函數(shù),定義方法如
$ke->afterCreate=”function(id){
alert(‘成功創(chuàng)建’+id)
}”;
我添加了ctrlenter關(guān)鍵詞,能夠高速定義ctrl+enter提交表單,用法:
$ke->afterCreate=”ctrlenter”;
同一時(shí)候須要定義$ke->form=”formname”,?formname換為你編輯器所在的表單id。
3。resizeMode:2或1或0,2時(shí)能夠拖動(dòng)改變寬度和高度。1時(shí)僅僅能改變高度。0時(shí)不能拖動(dòng)。定義方法如:$ke->resizeMode=1;?注意,數(shù)字類型的屬性值不要放在引號(hào)中,如$ke->resizeMode=”1”;這么定義是錯(cuò)誤的。
4,allowFileManager:true或false,true時(shí)顯示瀏覽server圖片功能(點(diǎn)擊上傳圖片button能夠看到此功能)。定義方法如
$ke->?allowFileManager=ture;
注意,屬性值為布爾值時(shí)不要放在引號(hào)中。
5,imageUploadJson指定上傳圖片的server端程序,默認(rèn)值為?/index.php/Keditor/upload
6。fileManagerJson:指定瀏覽遠(yuǎn)程圖片的server端程序,
默認(rèn)值為/index.php/Keditor/filemanager?
注:之前你復(fù)制過(guò)的KeditorAction.class.php就是供上傳圖片和瀏覽遠(yuǎn)程圖片使用的。文件內(nèi)的upload方法定義了上傳圖片處理過(guò)程,文件內(nèi)的filemanager方法定義了瀏覽圖片的處理過(guò)程。你能夠在這兩個(gè)方法上增加推斷權(quán)限的代碼,實(shí)現(xiàn)僅僅有管理員才干上傳圖片或?yàn)g覽圖片。你也能夠不使用默認(rèn)的KeditorAction.class.php,自定義上傳處理過(guò)程和瀏覽圖片處理過(guò)程。則是你須要又一次定義imageUploadJson屬性值和fileManagerJson屬性值。?自定義處理過(guò)程,后面具體解釋。
還有其它自帶屬性。我就不一一列舉了。大家能夠查看kindeditor官方文檔
http://www.kindsoft.net/doc.php?cmd=config
注意。數(shù)字類型或布爾類型的屬性值,不要放在引號(hào)內(nèi)。其它屬性值放在引號(hào)中,屬性值的格式和kindeditor自身格式一樣。
四 對(duì)象的方法。
1。upload。上傳圖片。
此方法在編輯器上傳圖片處理過(guò)程中使用,用法:
import("ORG.Net.Keditor"); Keditor::upload('./Public/Upload/','/Public/Upload/',array('gif','jpg','jpeg','png','bmp'),1000000);?upload方法有三個(gè)參數(shù)。依次是。“上傳圖片文件夾”,“圖片顯示地址”,“同意上傳圖片格式”,“同意的圖片大小(單位kb)”
上傳圖片文件夾:默認(rèn)值“./Public/Upload/”(注意Public前面有個(gè)“點(diǎn)”符號(hào)。是使用的相對(duì)地址,不可使用絕對(duì)地址),上傳圖片文件夾地址是相當(dāng)于處理文件的。Thinkphp全部的代碼都是通過(guò)入口文件執(zhí)行的,所以這個(gè)地址事實(shí)上是相對(duì)于入口文件的。
顯示圖片地址:默認(rèn)值“/Public/Upload”(通常是絕對(duì)地址)。如果我們上傳了一張圖片。server端生成的圖片名為?12345.gif。上傳會(huì)顯示的圖片地址則為/Public/Upload/12345.gif?,由于我們使用的是絕對(duì)地址,所以編輯器公布的內(nèi)容無(wú)論在站點(diǎn)的哪兒,圖片都能正常顯示。
同意上傳的圖片格式:定義一個(gè)數(shù)組。默認(rèn)值為array('gif','jpg','jpeg','png','bmp')
同意的圖片大小:默認(rèn)值為,1000000?。單位是bk。
2,filemanager。瀏覽server的圖片。此方法在瀏覽圖片處理過(guò)程中使用。用法: import("ORG.Net.Keditor"); Keditor::filemanager("./Public/Upload/","/Public/Upload/",array('gif','jpg','jpeg', 'png', 'bmp'));
參數(shù)依次是:“瀏覽圖片文件夾”,“圖片顯示地址”,“同意瀏覽的圖片格式”,和upload方法一樣,瀏覽圖片文件夾是相對(duì)地址。圖片顯示地址是認(rèn)為地址。
3,delimg:刪除通過(guò)編輯器上傳的圖片。此方法一般在你刪除數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí)使用。 import("ORG.Net.Keditor"); Keditor::delimg($imgfield); //$imgfield 通常是你數(shù)據(jù)庫(kù)存放圖片地址的字段。
4,show:返回生成的js代碼。此方法一般在顯示編輯器的控制器中使用。
show方法能夠使用一個(gè)參數(shù)定義kindeditor自帶屬性。
如:
import("ORG.Net.Keditor"); $ke=new Keditor(); $ke->show(“{ id : ”content”, width: ‘700px’; height : ”300px”; imgid : ”img” }”);
不建議用show傳參方式定義kindeditor屬性。show傳參方式不能定義jspath和form兩個(gè)新站屬性。也不能使用little和ctrlenter關(guān)鍵詞。
轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/5066604.html
總結(jié)
以上是生活随笔為你收集整理的Thinkphp编辑器扩展类kindeditor用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python爬虫自学之第(①)篇——爬虫
- 下一篇: Axure一些常用模板下载(免费模板)