首页>资讯中心>finecms万能标签list

finecms万能标签list


更新时间:2023-02-17 23:03:57 文章来源:企业大脑 浏览:13 编辑:新格小鹿



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}





版权所有 企业大脑 www.QYDN.com