基本用法
{loop table="表名" tid="栏目ID" orderby="orders desc,addtime desc,id desc" limit="输出条数" ispage="值1" isall="值1" notin="字段|值" in="字段|值" empty="bs" notempty="litpic" fields="id,title,litpic,body" like="字段|值,字段2|值2" as="变量标签,默认v"} 这里面输出内容格式:{$v[字段参数]} {$v_n}:计数,从1开始计 {$v_key}:计数,从0开始计 table:数据库的表名 tid:对应表中的栏目ID,默认每条数据都会有tid字段,可以根据此值输出对应的栏目数据 orderby:排序,DESC倒序,ASC正序。orders desc后台排序值倒序,addtime desc时间倒序,id desc按ID倒序,rand() 随机排序 limit:输出的条数 fields:查询字段,默认查询所有字段。此处需要注意:必须携带id,htmlurl,栏目模型需要带上 target , 其他模型需要带上 ownurl 才可能在输出的时候 url 不会为空。 notempty:筛选litpic不为空 【v1.5新增】 empty:筛选bs为空 【v1.5新增】 ispage:数值可以是非0的任何数字,如果填写了该参数,则loop循环结束后可以调出分页 isall:数值可以是非0的任何数字,如果填写了该参数,则查询数据的时候会调用tid栏目的下级数据(如果没有tid,则忽略) notin:表示查询除某个字段值以外的数据,如:id|1,表示除id=1以外的数据 in:标识查询某个字段范围内,如:id|1,2,3 表示查询id=1 id=2 id=3这3条数据,支持变量,如:id|$id ($id需提前定义) 【v1.7新增】 like:表示查询存在某个值的数据,目前仅支持的形式有:[字段|值],[字段1|值1,字段2|值2],[字段|变量] 如:title|测试,表示title中含有‘测试’这个单词的数据。 istop:是否为置顶,值为1时置顶,值为0时不是置顶,仅支持文章模块和商品模块【v1.6新增】 ishot:是否为热门,值为1时热门,值为0时不是热门,仅支持文章模块和商品模块【v1.6新增】 istuijian:是否为推荐,值为1时推荐,值为0时不是推荐,仅支持文章模块和商品模块【v1.6新增】 as:默认循环变量为小写字母v,可以自定义非数字开头的字母(严格意义上说,不能出现PHP的关键字) {/loop}
注意事项
一个页面同时输出多个loop,不会相互干扰,但是嵌套loop会相互影响,注意分配不同的变量标识!
# $v 和 $vv 区分开两个loop嵌套 {loop table="classtype" isshow="1" pid="0" as="v"} {loop table="article" tid="$v['id']" isall="1" limit="10" as="vv"} 文章标题:{$vv['title']} 文章简介:{$vv['description']} 文章内容:{$vv['body']} 文章缩略图:{$vv['litpic']} {/loop} {/loop}
文章列表输出
输出栏目ID为1下的所有栏目文章中的10条
isall表示全部栏目,如果只需要输出ID=1栏目下的文章,可以去掉这个参数
{loop table="article" tid="1" isall="1" limit="10" isshow="1" as="v"} 文章标题:{$v['title']} 文章简介:{$v['description']} 文章内容:{$v['body']} 文章缩略图:{$v['litpic']} ... {/loop}
产品列表输出
输出栏目ID为2下的所有栏目商品中的10条
isall表示全部栏目,如果只需要输出ID=1栏目下的文章,可以去掉这个参数
{loop table="product" tid="2" isall="1" limit="10" isshow="1" as="v"} 商品标题:{$v['title']} 商品简介:{$v['description']} 商品内容:{$v['body']} 商品缩略图:{$v['litpic']} 商品价格:{$v['price']} ... {/loop}
其他模块
任何模块只需要知道模块标识,都可以直接输出列表
{loop table="模块标识" limit="10" isshow="1" as="v"} 根据模块的字段输出对应的值 ... {/loop}