loop标签功能

来源:官方· 作者 jizhicms· 203次点击 · 2023-09-26

基本用法

{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}


被收藏 0  ∙  1 赞  
加入收藏
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站