ThinkPHP中html:list標(biāo)簽用法分析
本文實(shí)例分析了ThinkPHP中html:list標(biāo)簽用法。分享給大家供大家參考,具體如下:
ThinkPHP的html標(biāo)簽庫(kù)中的list標(biāo)簽功能強(qiáng)大,但沒(méi)有文檔.只好看源碼了.馬馬虎虎看了下,大概如下:
datasource和show必須要,datasource是數(shù)據(jù)源名稱,也就是assign所指向的變量,show是最復(fù)雜的,等會(huì)再講
pk是主鍵名,默認(rèn)為id;style是css樣式的class,因?yàn)檎麄€(gè)list標(biāo)簽會(huì)被編譯成table,比如這里為mylist,那么樣式表中的table.mylist樣式就會(huì)用在這;checkbox是否顯示復(fù)選框;action是否顯示操作列
show部分:用逗號(hào)分隔不同的字段,如:
id:編號(hào)|8%,account:用戶名|90px:edit:賬號(hào),phone:地址,remark:備注,status|getStatus:狀態(tài)
每字段中,以冒號(hào)為分隔符,可以分為幾部分,每部分中可以再以|分隔,
第一部分:id,表示為結(jié)果集中的id字段,status|getStatus,表示status字段,但是要經(jīng)過(guò)getStatus函數(shù)處理,這兒的函數(shù)可以是php自帶函數(shù),也可以是thinkphp的common/functions.php中的函數(shù),也可以是項(xiàng)目目錄conf/common.php中的自定義函數(shù)
第二部分:編號(hào)|8%表示標(biāo)題行中顯示字段為標(biāo)題,寬度為8%,用戶名|90px中的90px也是寬度
第三部分:如edit,表示javascript的edit函數(shù),其參數(shù)為主鍵值,如id為1的用戶,用戶名(account)處的顯示值為一個(gè)鏈接,點(diǎn)擊后會(huì)執(zhí)行javascript:edit(1);
第四部分:這部分一般不用設(shè)置,如賬號(hào),表示account(用戶名)標(biāo)題行中的"用戶名"鼠標(biāo)移到上面后會(huì)顯示"按賬號(hào)排序",而如果不設(shè)置的話,是"按用戶名排序",也就是說(shuō)不設(shè)置的話"按"和"排序"中間的幾個(gè)字是標(biāo)題顯示一樣的.
再說(shuō)actionlist,如果設(shè)置了action="true",但是沒(méi)有設(shè)置actionlist的話,就會(huì)顯示默認(rèn)的"編輯"和"刪除"操作,參數(shù)都是主鍵的值.以我們自設(shè)的函數(shù)來(lái)講,比如設(shè)為changePassword:修改密碼,這兒就會(huì)變成類似
如果有|,就有些特殊了,目前的html標(biāo)簽庫(kù)強(qiáng)制把這種情況解釋為status對(duì)應(yīng)的操作,也就是說(shuō),datasource中必須有一個(gè)status字段,這個(gè)字段flase,那么顯示|前的部分,否則為后部分,具體說(shuō):forbid|resume:禁用|恢復(fù),如status為0,則<a href="javascript:forbid('1');>禁用</a>,否則為<a href="javascript:resume('1');>恢復(fù)</a>
總的來(lái)說(shuō),html:list功能很不錯(cuò),特別是其中可以自定每列寬度很好.但是還存在一些不足之處或一些開(kāi)發(fā)者需要注意的地方:
1. actionlist中如有|,就與datasource中的status字段掛勾,這個(gè)很不爽.因?yàn)橐粊?lái)狀態(tài)可能不止兩種,二來(lái)其他的字段可能也需要根據(jù)情況顯示不同的文字執(zhí)行不同的操作.
2. 鏈接用javascript表示,有時(shí)還行,但有時(shí)更希望直接用url表示,比如<a href="user/edit/id/1">編輯</a>
3. 鏈接中的javascript函數(shù)命名和某些html元素命名很簡(jiǎn)單,有可能會(huì)與某些js腳本或html元素命名沖突,函數(shù)名如del,change,edit,over,out等,html元素如checkbox的id為check
4. 標(biāo)題的按XX排序的功能不能禁用.有很多時(shí)候并不需要這種功能,特別是不需要每行都有這種功能.當(dāng)然,可以在js函數(shù)中修改.
5. 上述的js函數(shù)都不是在標(biāo)簽中定義,而只是調(diào)用.函數(shù)定義在自己的js腳本中,我是直接用的thinkphp的RABC的示例,所以也沒(méi)研究具體的js文件,暫時(shí)也不想研究了.不過(guò)大家如果增加了自定義的操作,那就得自己寫(xiě)出js函數(shù)喲
TP的標(biāo)簽庫(kù)是個(gè)好東西。
例如,一個(gè)包含復(fù)選框的標(biāo)簽列表可以這樣寫(xiě):
id和name就不多說(shuō)了
datasource是PHP代碼傳過(guò)來(lái)的內(nèi)容信息
show:""里面是表格的列信息
id:ID代表datasource里,字段名為id的信息,顯示在列名為ID的列下。
如果是
articleTitle:文章標(biāo)題:function
代表的意思是字段為articleTitle下的內(nèi)容顯示在"文章標(biāo)題"這個(gè)列下,同時(shí),為每個(gè)“文章標(biāo)題”添加了一個(gè)javascript:function("主鍵")的鏈接,用于其他操作
checkbox="true"代表顯示復(fù)選框
style="list"代表使用list的風(fēng)格。
action="true"代表顯示操作列
actionlist="edit:編輯,delarticle:刪除,sh:審核"代表操作列的內(nèi)容
格式:
執(zhí)行函數(shù):顯示名稱。
希望本文所述對(duì)大家基于thinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP分組下自定義標(biāo)簽庫(kù)實(shí)例
- ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法實(shí)例詳解
- ThinkPHP模板Volist標(biāo)簽嵌套循環(huán)輸出多維數(shù)組的方法
- ThinkPHP自定義函數(shù)解決模板標(biāo)簽加減運(yùn)算的方法
- ThinkPHP添加更新標(biāo)簽的方法
- Thinkphp中volist標(biāo)簽mod控制一定記錄的換行BUG解決方法
- Thinkphp將二維數(shù)組變?yōu)闃?biāo)簽適用的一維數(shù)組方法總結(jié)
- thinkphp中html:list標(biāo)簽傳遞多個(gè)參數(shù)實(shí)例
- Thinkphp的volist標(biāo)簽嵌套循環(huán)使用教程
- ThinkPHP模板IF標(biāo)簽用法詳解
- ThinkPHP模板范圍判斷輸出In標(biāo)簽與Range標(biāo)簽用法詳解
- ThinkPHP模板判斷輸出Empty標(biāo)簽用法詳解
- thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法詳解
相關(guān)文章
php語(yǔ)言中使用json的技巧及json的實(shí)現(xiàn)代碼詳解
json是一種比較流行的數(shù)據(jù)交換格式之一,各大API網(wǎng)站均支持json。通過(guò)本篇文章給大家介紹php語(yǔ)言中使用json技巧以及php語(yǔ)言中json的實(shí)現(xiàn),對(duì)php語(yǔ)言中使用json技巧及json的實(shí)現(xiàn)代碼詳解感興趣的朋友一起來(lái)本文學(xué)習(xí)學(xué)習(xí)吧2015-10-10
ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程
這篇文章主要介紹了ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程,非常有實(shí)用價(jià)值,需要的朋友可以參考下2014-07-07
詳談PHP中public,private,protected,abstract等關(guān)鍵字的用法
下面小編就為大家分享一篇詳談PHP中public,private,protected,abstract等關(guān)鍵字的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
php微信高級(jí)接口調(diào)用方法(自定義菜單接口、客服接口、二維碼)
這篇文章主要為大家詳細(xì)介紹了php微信高級(jí)接口調(diào)用方法,包括自定義菜單接口、客服接口、二維碼等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例
這篇文章主要介紹了PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例,需要的朋友可以參考下2014-04-04
Yii2表單事件之Ajax提交實(shí)現(xiàn)方法
這篇文章主要介紹了Yii2表單事件之Ajax提交實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Yii2框架中ajax提交的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-05-05
php封裝單文件上傳到數(shù)據(jù)庫(kù)(路徑)
這篇文章主要介紹了php封裝單文件上傳到數(shù)據(jù)庫(kù)(路徑) 的相關(guān)資料,需要的朋友可以參考下2017-10-10
php遞歸方法實(shí)現(xiàn)無(wú)限分類實(shí)例代碼
這篇文章主要介紹了php遞歸方法實(shí)現(xiàn)無(wú)限分類實(shí)例代碼,需要的朋友可以參考下2014-02-02
國(guó)產(chǎn)PHP開(kāi)發(fā)框架myqee新手快速入門(mén)教程
這篇文章主要介紹了國(guó)產(chǎn)PHP開(kāi)發(fā)框架myqee新手快速入門(mén)教程,myqee中文名稱邁啟PHP框架,有比較多的高級(jí)開(kāi)發(fā)特性,需要的朋友可以參考下2014-07-07

