欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP中html:list標(biāo)簽用法分析

 更新時間:2016年01月09日 11:47:07   作者:rogerzhanglijie  
這篇文章主要介紹了ThinkPHP中html:list標(biāo)簽用法,較為詳細(xì)的分析總結(jié)了ThinkPHP中html:list標(biāo)簽的定義、使用方法及相關(guān)注意事項,需要的朋友可以參考下

本文實例分析了ThinkPHP中html:list標(biāo)簽用法。分享給大家供大家參考,具體如下:

復(fù)制代碼 代碼如下:
<html:list id="checkList" name="user" style="list" checkbox="true" action="true" datasource="list" show="id:編號|8%,title:標(biāo)題:edit,content:內(nèi)容,create_time|toDate='Y-m-d H#i#s':添加時間,status|getStatus:狀態(tài)" actionlist="forbid|resume:禁用|恢復(fù),edit:編輯" />

ThinkPHP的html標(biāo)簽庫中的list標(biāo)簽功能強(qiáng)大,但沒有文檔.只好看源碼了.馬馬虎虎看了下,大概如下:

datasource和show必須要,datasource是數(shù)據(jù)源名稱,也就是assign所指向的變量,show是最復(fù)雜的,等會再講

pk是主鍵名,默認(rèn)為id;style是css樣式的class,因為整個list標(biāo)簽會被編譯成table,比如這里為mylist,那么樣式表中的table.mylist樣式就會用在這;checkbox是否顯示復(fù)選框;action是否顯示操作列

show部分:用逗號分隔不同的字段,如:

id:編號|8%,account:用戶名|90px:edit:賬號,phone:地址,remark:備注,status|getStatus:狀態(tài)

每字段中,以冒號為分隔符,可以分為幾部分,每部分中可以再以|分隔,

第一部分:id,表示為結(jié)果集中的id字段,status|getStatus,表示status字段,但是要經(jīng)過getStatus函數(shù)處理,這兒的函數(shù)可以是php自帶函數(shù),也可以是thinkphp的common/functions.php中的函數(shù),也可以是項目目錄conf/common.php中的自定義函數(shù)
第二部分:編號|8%表示標(biāo)題行中顯示字段為標(biāo)題,寬度為8%,用戶名|90px中的90px也是寬度
第三部分:如edit,表示javascript的edit函數(shù),其參數(shù)為主鍵值,如id為1的用戶,用戶名(account)處的顯示值為一個鏈接,點擊后會執(zhí)行javascript:edit(1);
第四部分:這部分一般不用設(shè)置,如賬號,表示account(用戶名)標(biāo)題行中的"用戶名"鼠標(biāo)移到上面后會顯示"按賬號排序",而如果不設(shè)置的話,是"按用戶名排序",也就是說不設(shè)置的話"按"和"排序"中間的幾個字是標(biāo)題顯示一樣的.

再說actionlist,如果設(shè)置了action="true",但是沒有設(shè)置actionlist的話,就會顯示默認(rèn)的"編輯"和"刪除"操作,參數(shù)都是主鍵的值.以我們自設(shè)的函數(shù)來講,比如設(shè)為changePassword:修改密碼,這兒就會變成類似

復(fù)制代碼 代碼如下:
<a href="javascript:changePassword('1')>修改密碼</a>

如果有|,就有些特殊了,目前的html標(biāo)簽庫強(qiáng)制把這種情況解釋為status對應(yīng)的操作,也就是說,datasource中必須有一個status字段,這個字段flase,那么顯示|前的部分,否則為后部分,具體說:forbid|resume:禁用|恢復(fù),如status為0,則<a href="javascript:forbid('1');>禁用</a>,否則為<a href="javascript:resume('1');>恢復(fù)</a>

總的來說,html:list功能很不錯,特別是其中可以自定每列寬度很好.但是還存在一些不足之處或一些開發(fā)者需要注意的地方:

1. actionlist中如有|,就與datasource中的status字段掛勾,這個很不爽.因為一來狀態(tài)可能不止兩種,二來其他的字段可能也需要根據(jù)情況顯示不同的文字執(zhí)行不同的操作.
2. 鏈接用javascript表示,有時還行,但有時更希望直接用url表示,比如<a href="user/edit/id/1">編輯</a>
3. 鏈接中的javascript函數(shù)命名和某些html元素命名很簡單,有可能會與某些js腳本或html元素命名沖突,函數(shù)名如del,change,edit,over,out等,html元素如checkbox的id為check
4. 標(biāo)題的按XX排序的功能不能禁用.有很多時候并不需要這種功能,特別是不需要每行都有這種功能.當(dāng)然,可以在js函數(shù)中修改.
5. 上述的js函數(shù)都不是在標(biāo)簽中定義,而只是調(diào)用.函數(shù)定義在自己的js腳本中,我是直接用的thinkphp的RABC的示例,所以也沒研究具體的js文件,暫時也不想研究了.不過大家如果增加了自定義的操作,那就得自己寫出js函數(shù)喲

TP的標(biāo)簽庫是個好東西。

例如,一個包含復(fù)選框的標(biāo)簽列表可以這樣寫:

復(fù)制代碼 代碼如下:
<html:list id="list" name="user" datasource="info" show="id:ID,username:用戶名,value:用戶身份,fullname:真實姓名,sex:性別,tel:聯(lián)系電話,class:班級,home:宿舍" checkbox="true" style="list" action="true" actionlist="edit:編輯,delarticle:刪除,sh:審核"/>

id和name就不多說了
datasource是PHP代碼傳過來的內(nèi)容信息
show:""里面是表格的列信息
id:ID代表datasource里,字段名為id的信息,顯示在列名為ID的列下

如果是
articleTitle:文章標(biāo)題:function

代表的意思是字段為articleTitle下的內(nèi)容顯示在"文章標(biāo)題"這個列下,同時,為每個“文章標(biāo)題”添加了一個javascript:function("主鍵")的鏈接,用于其他操作

checkbox="true"代表顯示復(fù)選框
style="list"代表使用list的風(fēng)格。
action="true"代表顯示操作列
actionlist="edit:編輯,delarticle:刪除,sh:審核"代表操作列的內(nèi)容

格式:

執(zhí)行函數(shù):顯示名稱。

希望本文所述對大家基于thinkPHP框架的PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論