一、作用
用于循环查询模块内容数据(支持分页查询)
二、语法
{module module=模块名称 ....}{/module}
三、参数介绍
参数 | 介绍 |
---|---|
module | 模块名称,默认为当期模块(仅在模块模板中有效),例如新闻模块,填写news,只能填写一个模块目录 |
site | 站点id,默认当前站点,填写其他站点id表示查询其他站点的模块数据 |
catid | 栏目id,支持多个栏目以小写分号分开,例如1,2,3,4 |
field | 可用字段,多个字段以小写分号分开,默认全部字段 |
order | 排序方式,多个排序以小写分号分开,默认降序排列,例如updatetime_asc表示按更新时间升序排列 |
num | 表示显示数量,支持定点查询,例如1,2表示从第1条记录开始,共显示2条数据 |
more | 当等于more=1时表示查询栏目模型字段,附表字段不支持查询(more=1参数必须与catid共存) |
flag | 推荐位id,多个推荐位用,分隔 |
not_flag | 排除推荐位id,排除多个推荐位用,分隔 |
join | 关联表查询 |
on | 关联条件,格式为on=关联字段,被关联字段 |
page | 当page=1时表示开启分页查询,否则pagesize与urlrule是不会生效的 |
pagesize | 分页显示数据量(当存在catid时会自动取该栏目设置的数量,修改栏目-模块设置-设置数量即可) |
urlrule | 分页地址规则:[page]表示分页标识符(当存在catid时会自动取该栏目设置的URL分页规则) |
sbpage | 当存在catid参数时又想按照自定义方式来分页需要设置参数sbpage=1,表示强制按自定义分页 |
cache | 缓存时间单位秒,默认关闭缓存;当cache=3600时,表示缓存时间1小时,建议数据查询的标签都加上缓存参数 |
return | 默认返回变量为t,调用方式就是{$t.字段值} |
四、返回变量
变量 | 参数 |
---|---|
{$debug} | 当查询不到数据时,会返回错误信息,调试模板时很有用哦(写在标签以外) |
{$total} | 用于分页时查询的总记录数量(写在标签以外) |
{$count} | 当前查询的记录,当存在分页时,表示当前页的记录数(写在标签以外) |
{$nums} | 用于分页时返回总的页数(写在标签以外) |
{$pagesize} | 用于分页时返回当前每页查询数量(写在标签以外) |
{$pages} | 显示分页代码(写在标签以外) |
{$key} | 当前记录指针位置,从0开始(写在标签以内) |
{$return} | 当前查询的结果集数组 |
当存在return=字母时,以上变量都要写成这种格式{$变量_字母},例如{...reutrn=a}时,变量格式{$key_a} | |
{$is_first} | 判断是否第一条,{if $is_first}第一条{/if} |
{$is_last} | 判断是否最后一条,{if $is_last}最后一条{/if} |
五、显示字段
{$t.字段名称}或者{$t['字段名称']}
每个字段类型的输出方式不一样
六、字段查询方法
修饰符 | 介绍 |
---|---|
LIKE_字段 | 模糊匹配查询,例如LIKE_title=%名称%表示like title '%标题%' |
IN_字段 | IN子句查询,例如IN_id=1,2,3,4表示id in (1,2,3,4) |
NOTIN_字段 | NOTE IN子句查询,例如NOTIN_id=1,2,3,4表示id not in (1,2,3,4) |
BEWTEEN_字段 | 两者之间查询,例如BEWTEEN_id=1,100表示id在1到100的数据 |
BW_字段 | 同上,简写 |
NOT_字段 | 逻辑非查询,例如NOT_name=1,表示name不能等1的数据 |
字段=值 | 字段条件查询,例如uid=1表示会员id=1的数据 |
七、部分实例
1、显示文章指定栏目1的数据,num表示显示10条,order表示按更新时间排序,默认cache缓存时间10小时
{module module=news catid=1 field=title,url,updatetime order=updatetime num=10} 标题:{$t.title} 地址:{$t.url} 更新时间:{$t.updatetime} 自定义更新时间:{dr_date($t._updatetime, 'Y-m-d')} 栏目名称:{dr_cat_value('news', $t.catid, 'name')} 栏目URL:{dr_cat_value('news', $t.catid, 'url')} {/module}
2、显示文章指定栏目1,2,3,4,5数据,num表示显示10条,order表示按人气排序
{module module=news catid=1,2,3,4 num=10 order=hits} ...... {/module}
3、显示文章在站点2的数据
{module module=news site=2} .... {/module}
4、显示其他模块photo的数据
{module module=photo} .... {/module}
5、分页显示文章模块的栏目为10的数据(当存在catid参数时只需加page参数就能分页输出)
{module module=news catid=10 page=1} ..... {/module} {$pages}表示分页输出代码
6、自定义分页显示文章模块的数据(可以在任何页面)
{module module=news page=1 pagesize=10 urlrule=index.php?page=[page]} ..... {/module} {$pages}表示分页输出代码 pagesize表示指定分页显示数据量 urlrule表示分页地址规则,[page]参数必须有哦,否则分页链接不正常
7、推荐位查询,flag表示推荐位的id号,后台可以看到,你懂得
{module module=news flag=1 num=10} ..... {/module}
8、错误排查方式,必须掌握,很实用
{module catid=1 num=10} ..... {/module} {$debug}:表示这段查询的sql语句解析 如果遇到查询错误,它会返回相关信息
9、显示news模块的带缩略图的10条文章并按时间先后顺序排列
{module module=news thumb=1 num=10 order=updatetime} 图片:{dr_thumb($t.thumb, 宽, 高, 是否水印)}或者 原图 {dr_get_file($t.thumb)} ..... {/module}
10、随机调用news模块的10条内容
{module module=news order=RAND cache=0 num=10} ..... {/module}
11、调用栏目1的内容和他模型字段的内容
{module module=news catid=1 more=1} ..... {/module} 参数more=1表示调用模型字段,必须存在catid,否则不知道调用哪个栏目的模型字段
12、栏目的模型字段筛选
{module module=news 字段=值 catid=1 more=1} ..... {/module} 方法和内容字段一样 参数more=1表示调用模型字段,必须存在catid,否则不知道调用哪个栏目的附加字
13、查询某个会员发布的news内容
{module module=news uid=会员id号} .... {/module}
14、查询当前内容的作者的全部发布news内容
{module module=news uid=$uid} .... {/module}