ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
action 支持"推荐位(position)"、"搜索关键字(keywords)"、"相关文章(relation)"模式,普通数据查询不需要此参数 table 循环表名称,默认为内容表,可以用其他表,插件表格式为:插件名称.表名称(link.linkname) catid 当前栏目ID号 num 显示数量,还可以写成"num=1,5"相当于limit 1,5 return 返回数组名称,用于循环,默认值为't',调用方式:{$t['title']} more 值为1时,自动调用内容表的附表内容(也就是自定义的字段) order 排序,例如: order=id_desc,userid_desc,默认desc排序,可以省掉_desc join 联合查询表名称(用该表的主键关联),例如:join=member on 其他表的字段(非join表的自段),必须与join成对出现,否则join失效,例如:join=member on=userid page 用于分页查询,如果出现了num参数,分页查询将会失效 urlrule 分页URL格式(分页标识符_page_或者[page]),例如:urlrule=$catid-[page].html pagesize 分页查询每页显示的记录数量(如果出现catid,系统默认会使用该栏目的分页数量) cache 数据缓存,单位秒,在这缓存时间内调用缓存文件而不再去访问数据库 thumb 值等于1的时候,显示有缩略图的文档;等于0的时候,显示无缩略图的文档(v1.7) form 调用表单,例如:form=liuyan ,就是调用liuyan的表单数据(v1.7.5) site 站点id,用于多站点调用,例如: site=2 table=content ,就是调用站点2的内容表(v1.7.5) fields 为sql语句指定字段,例如: fields=title,url ,与sql语法一致(不能使用`),支持自定义字段名称(v1.7.5) extend 对特殊sql语句进行延展 格式: {list 参数1=值1 参数2=值2 ... 参数N=值N} ... 循环体 ... {/list} 注意:参数和值不能出现引号 一、参数介绍 1、action 模式选择参数,支持"推荐位(position)"、"搜索关键字(keywords)"、"相关文章(relation)"、"自定义字段信息(field)"模式 例如:推荐位查询 {list action=position id=1} ... {/list} 返回推荐位id=1的数据并循环 2、return 数据返回变量,默认为t,循环内直接使用{$t[字段]} {list ... return=item} {$item['title']} {/list} 返回变量就成了$item,而不再是$t,多层list标签可以用它来解决变量冲突 3、more 当其值为1时,表示联合附表查询,必须与catid或者modelid参数联合使用 {list catid=$catid more=1 cache=36000} ... {$t[附表字段]} ... {/list} 可快速查询出该栏目的自定义字段数据,可配合fields参数减少缓存大小 4、join和on 联合查询表名称,必须与on成对出现 {list table=content join=member on=userid} ... {/list} 表content与member关联查询,on是表content中的关联字段,就是以member表的主键与content表的userid字段先关联查询 5、page、pagesize(显示数量)和urlrule(分页规则) 分页查询,如果存在caitd,则使用该栏目的分页规则和显示数量,返回分页结果变量{$pagelist} {list catid=$catid page=$page} ... {/list} 栏目分页时,会调用该栏目的分页规则配置,无需后面两个参数 6、num Limit控制,最大显示数量 {list catid=$catid num=5} ... {/list} 最大显示5条记录(可以写成num=1,5,表示从1开始到5行结束) 7、order {list catid=$catid order=updatetime,id} ... {/list} 示例按updatetime降序,id降序,如果升序就附加:字段_ASC(默认是降序) 8、字段作为参数(同一字段只能出现一次) {list catid=1 username=admin num=10} ...{/list} 其中的username是内容表中的字段,解析为:catid=1 and username='admin' {list NOTcatid=1 num=10} ...{/list} 解析为:catid not in (栏目集合) 9、cache 缓存参数,推荐list查询都加上它 {list catid=1 cache=3600} ...{/list} 缓存3600秒(1小时),在3600秒内调用缓存数据而不访问数据库,减轻服务器压力 10、thumb 是否显示缩略图 {list thumb=1 cache=3600} ...{/list} 当thumb=1时,表示显示有缩略图的文档,相当于SQL中的thumb<>'';当thumb=0时,相当于SQL中的thumb='' 11、form 表单数据查询快捷参数 {list form=liuyan cache=3600} ...{/list} 调用表单,例如表单为liuyan ,示例就是调用liuyan的表单数据,当然相对应本站点 12、site 用于查询指定站点数据 {list site=2 table=content num=10 cache=3600} ...{/list} 站点id,用于多站点调用,示例就是调用站点2的内容表数据 12、fields 为sql语句指定字段,与sql语法一致(各个字段不能使用`字段名`,程序会自动为你加上),支持自定义字段名称 {list fields=title,url,content catid=1 more=1 num=10 cache=3600} ...{/list} 示例中解析为SQL是:select `主表`.`title`,`主表`.`url`,`附表`.`content` from .... 二、相关示例 1、栏目查询 {list catid=$catid order=updatetime num=10} ... {/list} 查询当前栏目的10条数据,并按updatetime desc排序 2、栏目分页查询 {list catid=$catid order=updatetime page=$page} ... {/list} 查询当前栏目,按照当前栏目默认分页方式分页 3、自定义分页查询 {list catid=$catid order=updatetime page=$page pagesize=10 urlrule=$catid-[page].html} ... {/list} 分页查询,每页显示10条,url地址格式为:栏目id-分页id.html 4、联合附表的自定义字段查询 {list catid=$catid more=1 num=10} ... {/list} 5、Join关联查询 {list catid=$catid join=member on=userid} ... {/list} 解析为:from 内容表 left join member on 内容表.userid=member.主键 6、自定义表查询 {list table=member groupid=1} ... {/list} 查询member表中groupid=1的用户 7、插件表查询 {list table=review.revirew_total contentid=10} ... {/list} 查询review插件中的表review_total中contentid=10的数据 三、Action参数 1、推荐位(position) {list action=position id=1 catid=$catid} ... {/list} id:推荐位的id catid:可选,根据推荐位的类别而决定 输出字段请参考position_data表结构,不用解释太多大家都懂 2、搜索关键字(keywords) {list action=keywords order=addtime} ... {/list} order:排序字段参考search表 输出字段请参考search表结构,不用解释太多大家都懂 3、相关文章(relation) ①、调用手动添加的相关文章 {list action=relation id=$id num=10} ... {/list} id:文章的id num:显示数量,默认10条 ②、通过关键字自动调用相关文章 {list action=relation tag=$keywords id=$id num=5}...{/list} id:当前文章id tag:当前文章的关键字 catid:栏目id(可选) modelid:模型id(可选) 4、自定义字段显示(field)(适合自定义字段表单显示) {list action=field modelid=$modelid name=字段名称 value=字段默认值} ... {/list} modelid:栏模型id(必选) name:字段名称(必选) value:字段值(可选) 返回数据{$t['form']}:用于表单显示(就是一个表单输入框) 返回数据{$t['data']}:返回复选框、单选按钮中的选项名称和值(数组类型,若要输出请用loop配合) 例: ①、调用模型2中的自定义字段zhiduan(默认值200)的输入表单 {list action=field modelid=2 name=zhiduan value=200} {$t['form']} {/list} ②、调用模型2中的自定义字段zhiduan(必须是复选框、单选按钮类型)的值 {list action=field modelid=2 name=zhiduan} {loop $t['data'] $n=>$v} 名称:{$n},值:{$v}; {/loop} {/list} 因为$t['data']是数组类型,说以要用loop循环输出,不用解释太多大家都懂 四、特殊字段辅助参数 1、NOTcatid=值 注:NOT只能与栏目catid搭配 表示catid not in (栏目集合),不用解释太多大家都懂 2、OR字段名称=值 {list catid=$catid ORuserid=1 ... } 表示where ... catid=$catid or userid=1 3、IN字段名称=值 {list catid=$catid INstatus=0,1,2 ... } 表示where ... catid=$catid and status in (0,1,2) 4、BW字段名称=值 {list catid=$catid BWstatus=1,2 ... } 表示where ... catid=$catid and status between 1 and 2 5、LIKE字段名称=值 {list LIKEtitle=%finecms% ...} 表示where ... title LIKE '%finecms%',不用解释太多大家都懂 五、返回数据 1、循环变量return=?,默认为$t 2、分页变量{$pagelist} 3、SQL查询字符串{$sql}(用于测试,打印当前查询的sql语句) 4、统计变量{$total},返回数据总数量 5、循环计数{$key},用于list循环计数变量,从0开始 6、循环统计变量{$count},统计本次循环记录数量 7、支持多层lsit,防止变量冲突,必须设置不同的return值(v1.7.1及以上版本) 如果存在return值,那么所有变量必须加上后缀"_return值",例如: {list ... return=s} 循环计数变量:{$key_s} {/list} 分页:{$pagelist_s} 总数:{$total_s}