php多模块目录结构,多模块内容循环

一、作用

用于循环查询多个模块内容数据(支持分页查询)

二、语法

{modulesmodule=模块名称1,模块名称2 field=字段1,字段2 ....}{/modules}

三、参数介绍参数介绍

module模块名称,填写至少两个模块目录以上,例如news,image,book

site站点id,默认当前站点,填写其他站点id表示查询其他站点的模块数据

catid栏目id,支持多个栏目以小写分号分开,例如1,2,3,4

field可用字段,多个字段以小写分号分开,默认全部字段

order排序方式,多个排序以小写分号分开,默认降序排列,例如updatetime_asc表示按更新时间升序排列

num表示显示数量,支持定点查询,例如1,2表示从第1条记录开始,共显示2条数据

moremodules标签不支持

flag推荐位id,多个推荐位用,分隔

not_flag排除推荐位id,排除多个推荐位用,分隔

joinmodules标签不支持

onmodules标签不支持

page当page=1时表示开启分页查询,否则pagesize与urlrule是不会生效的

pagesize分页显示数据量(当存在catid时会自动取该栏目设置的数量,修改栏目-模块设置-设置数量即可)

urlrule分页地址规则:[page]表示分页标识符(当存在catid时会自动取该栏目设置的URL分页规则)

sbpagemodules标签不支持

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、共同查询模块:test,demo,news,num表示显示10条,order表示按更新时间排序,默认cache缓存时间10小时{modules module=test,demo,news field=title,catid,url,updatetime order=updatetime num=10}

标题:{$t.title}

地址:{$t.url}

更新时间:{$t.updatetime}

自定义更新时间:{dr_date($t._updatetime, 'Y-m-d')}

栏目名称:{dr_cat_value($t.mid, $t.catid, 'name')}

栏目URL:{dr_cat_value($t.mid, $t.catid, 'url')}

模块名称:{dr_mod_value($t.mid, 'name')} 或者 {Cache::get('module-'.SITE_ID.'-'.$t.mid, 'name')}

模块URL(独立模块可用):{dr_mod_value($t.mid, 'url')} 或者 {Cache::get('module-'.SITE_ID.'-'.$t.mid, 'url')}

{/modules}

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

2、共同查询模块:test,demo,news,num表示显示10条,order表示按人气排序{modules module=test,demo,news field=title,catid,url,updatetime,hits num=10 order=hits}

......

{/modules}

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

3、共同查询模块:test,demo,news, 自定义分页显示数据(可以在任何页面){modules module=test,demo,news field=title,catid,url,updatetime page=1 pagesize=10 urlrule=index.php?page=[page]}

.....

{/modules}

{$pages}表示分页输出代码

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

pagesize表示指定分页显示数据量

urlrule表示分页地址规则,[page]参数必须有哦,否则分页链接不正常

4、共同查询模块:test,demo,news,只显示推荐位1的10条内容(4.3.12起可使用){modules module=test,demo,news field=title,catid,url,updatetime,hits flag=1 num=10 order=updatetime}

......

{/modules}

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

5、共同查询模块:test,demo,news,只显示推荐位1,2,3的10条内容(4.3.12起可使用){modules module=test,demo,news field=title,catid,url,updatetime,hits flag=1,2,3 num=10 order=updatetime}

......

{/modules}

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

6、共同查询模块:test,demo,news,只显示栏目1,2,3的10条内容(4.3.12起可使用){modules module=test,demo,news field=title,catid,url,updatetime,hits catid=1,2,3 num=10 order=updatetime}

......

{/modules}

{$debug}:表示这段查询的sql语句解析

如果遇到查询错误,它会返回相关信息

如果遇到以下错误时:Illegal mix of collations for operation “UNION”

说明field参数的字段存在不一样的编码,通过phpmyadmin工具把他们的编码改为一致的就行了

本文地址:https://www.xunruicms.com/doc/975.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值