麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

ThinkPHP中html:list標簽用法分析

2024-05-04 23:42:10
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ThinkPHP中html:list標簽用法,較為詳細的分析總結了ThinkPHP中html:list標簽的定義、使用方法及相關注意事項,需要的朋友可以參考下
 

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

 

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

 

ThinkPHP的html標簽庫中的list標簽功能強大,但沒有文檔.只好看源碼了.馬馬虎虎看了下,大概如下:

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

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

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

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

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

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

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

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

 

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

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

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

TP的標簽庫是個好東西。

例如,一個包含復選框的標簽列表可以這樣寫:

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

 

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

如果是
articleTitle:文章標題:function

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

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

格式:

執行函數:顯示名稱。

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



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品自拍99 | 美国av片在线观看 | 欧美91看片特黄aaaa | 少妇一级淫片免费看 | www.99久久久| 精品一区二区免费视频视频 | 欧美a级在线免费观看 | 亚洲一区二区在线视频 | 日本精品黄色 | 日本精品婷婷久久爽一下 | 日本欧美一区二区三区在线观看 | 亚洲精品一区二区三区免 | 免费a级毛片永久免费 | 成人一区二区三区四区 | 日本在线不卡一区二区 | 羞羞答答视频 | 久久精品亚洲欧美日韩精品中文字幕 | 手机国产乱子伦精品视频 | 欧美黄色性视频 | 中文字幕专区高清在线观看 | 久久久久99精品 | 羞羞视频免费观看入口 | 蜜桃视频网站www | 91精品免费观看 | 精品一区二区三区毛片 | 亚洲人成电影在线 | 91久久国产露脸精品国产 | 免费在线观看成人网 | 欧美一级精品 | av国产免费 | 精品国产乱码一区二区三区四区 | 黄色大片网站在线观看 | 欧美日韩亚洲一区二区三区 | 久久久国产一区二区三区 | 91av大片 | 久久久久久久久国产精品 | 免费高清一级欧美片在线观看 | 国产乱xxxx | 久久99精品国产自在现线 | 久久久久久久久免费 | 亚洲人成网站免费播放 |