<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:审核"代表操作列的内容
格式:
执行函数:显示名称。
分享到:
相关推荐
《ThinkPHP5多标签后台源码详解》 ThinkPHP5是一款基于PHP的轻量级、高性能的开源框架,被广泛应用于各类Web应用的开发。它以其简洁的代码、高效的性能和丰富的功能,深受开发者喜爱。在本文中,我们将深入探讨一款...
在模板文件中,你可以像使用普通HTML标签一样使用自定义标签: ``` 张三" age="25"> ``` ThinkPHP会自动将这些自定义标签转换为你在`parse()`方法中处理后的结果。 6. **注册自定义标签** 最后,你需要在配置...
2. **手动加载**:在需要使用自定义标签的HTML模板中,使用`<tagLib name="article"/>`标签显式加载。这种方式更灵活,但需要在每个需要使用自定义标签的模板中进行声明。 #### 四、模板中的使用 一旦自定义标签被...
这段代码首先加载Word文件,然后遍历文档中的各个元素,如段落(Paragraph)和文本块(TextRun),并将它们转换成HTML标签。最后,将生成的HTML内容写入一个新的文件中。 注意,这只是一个基本的转换示例,实际Word...
为了深入掌握ThinkPHP模板自定义标签的使用,用户应该阅读更多相关资料,比如《ThinkPHP入门教程》、《ThinkPHP模板操作技巧总结》等专题文章,这将有助于提升使用ThinkPHP进行PHP程序设计的技能。
这个标签库包含了诸如`<html:select>`等常用的HTML标签扩展,它们提供了一些额外的属性和功能,使得在模板中处理动态数据变得更加便捷。 例如,如果我们需要创建一个下拉选择列表,可以按照以下步骤操作: 1. 在...
开发者通过编写HTML标签和属性来控制页面布局和内容展示。 3. **许愿墙功能实现**:许愿墙的主要功能包括愿望发布、愿望浏览和愿望搜索。用户可以提交自己的愿望,这些愿望会被存储在数据库中;同时,用户可以查看...
【标题】"thinkphp许愿墙HTML模板"指的是基于ThinkPHP框架开发的一款用于构建许愿墙功能的网页模板。ThinkPHP是中国广泛使用的开源PHP框架,它以简洁、高效的特性受到开发者喜爱,尤其适合快速开发Web应用。这款模板...
标签“ThinkPHP 后台登录”表明这个项目涵盖了ThinkPHP框架的使用和后台登录系统的设计。在实际应用中,开发者还需要关注安全性问题,例如对用户输入的过滤和验证,防止SQL注入,以及使用HTTPS协议保护用户密码的...
标签库驱动类的主要职责是将标签定义解析为有效的模板文件,这些文件可以包括PHP代码和HTML标签。标签库驱动类的作用相当于一个中间层,它负责将自定义标签转换成框架可以识别的模板代码。 在使用标签库驱动之前,...
在ThinkPHP5中,标签库(TagLib)是一个用于封装视图层代码,简化模板显示逻辑的组件。它允许开发者自定义模板标签,以提高代码的可重用性和可维护性。 本知识点详解将围绕ThinkPHP5中tablib标签库的自定义方法展开...
CHM(Microsoft Compiled HTML Help)文档是ThinkPHP官方提供的一种详细的技术参考手册,包含了丰富的API接口、教程、示例以及错误处理等内容,为开发者提供了全方位的学习和查询资源。本文将深入探讨ThinkPHP CHM...
【标签】"thinkphp" 表明这个项目是用ThinkPHP框架开发的。ThinkPHP是中国非常流行的一个开源PHP框架,它提供了MVC(模型-视图-控制器)模式,简化了Web应用的开发流程,支持快速开发、稳定性和安全性。 【文件名称...
【标签】"thinkphp"和"oa"进一步强调了这个项目的核心技术和应用场景。OA系统通常包含了工作流管理、文档管理、任务分配、会议安排、通讯录等功能,帮助企业管理日常运营,提高工作效率。而使用ThinkPHP框架,可以...
6. **前端Bootstrap**:Bootstrap是一个流行的HTML、CSS和JavaScript框架,用于快速创建响应式和移动优先的网站。在本项目中,它被用来设计用户界面,提供美观的布局和交互元素。例如,使用Bootstrap的网格系统构建...
模板引擎可以解析特定的标签和控制结构,提高代码的可读性和可维护性。 通过这个项目,你可以学习到如何创建ThinkPHP的项目结构,如何配置路由,如何定义模型并进行数据库操作,以及如何编写控制器和视图来实现前后...
2. 多媒体元素:`<audio>`和`<video>`标签使得在网页中内嵌音频和视频变得更加简单。 3. Canvas和SVG:提供了画布和矢量图的绘制功能,实现动态图形和数据可视化。 4. Geolocation:定位用户地理位置,为本地化服务...
本文实例分析了ThinkPHP中html:list标签用法。分享给大家供大家参考,具体如下: 复制代码 代码如下:<html:list id=”checkList” name=”user” style=”list” checkbox=”true” action=”true” datasource=...
ThinkPHP框架中的特殊标签用法是一种在模板引擎中实现特定逻辑判断的语法,它允许开发者在视图模板中进行条件判断、循环等操作,从而减少在模板中直接编写PHP代码的需求,使得代码更加清晰和易于维护。 首先,...