list是系统模板中最重要的一个功能。
list标签强大灵活,其本质是将对应标签解析为sql语句进行调用。
> catid=栏目id 如catid=5则调用栏目id5下面的文章
> thumb=1 表示含有缩略图的内容
> status= 调用自定义推荐位 具体设置请看你自己的推荐位设置(系统设置-》自定义推荐位)
> qingcms=1 表示启用附加字段的调用 内容模型中添加的字段会被调用 注意catid和modelid必须存在一个
> cache =100(数据缓存时间分钟,会新数据不能及时显示,需要更新缓存或到时间自动更新才可以)
> order = 排序,例如: order=id 多个排序时候例如:order=id_asc,time_desc,默认time_desc,_desc可以不写 支持随机调用 =rand() 为随机调用(非常的不支持此方式 非常非常严重的影响性能。内容少的可以试试)
> num =10 数量10条 并且和 sql 中的limit用法一致 如: num=2,10 表示从第3条开始查询共查询10条
> pagesize = 分页大小 当栏目列表页不填写此参数时,默认调用栏目设定的分页数量。此参数配合urlrule参数可以调用表单数据分页显示
> urlrule = abcd-[page].html 规则 常用于表单的前台调用显示 [page]会被自动替换成当前分页数
> table = 调用的数据表 默认为content 不含前缀 如 table=member 调用会员主表 在调用表单数据的时候会经常简单
> return =返回数组格式 默认为$c 多次list循环中会用到 实际用到的情况非常少
> sql=简单粗暴又直接, 没错 就是sql。直接写完整的sql语句即可 不可同其他标签兼容
解析
~~~
{qing:list table=调用的表默认表为content num=调用的数据 order=排序 其他的就是调用的条件}
{qing:$qing['title']} // 输出对应的数据 title为对应的字段
{qing:function.date("Y-m-d H:i:s", $c['time'])} // 也可以用函数处理数据 日期函数
{qing:function.strcut($c[title],20)} // 限制标题字数
{/qing:list}
~~~
实例 调用栏目id=3 有缩略图的一条数据
~~~
{qing:list catid=3 num=1 thumb=1 }
{qing:$qing['title']}
{/qing:list}
~~~
实例 调用十个审核过的会员 status在member表中的值1表示审核通过
~~~
{qing:list table=member num=10 status=1 }
{qing:$qing['username']} // member 表中的字段
{/qing:list}
~~~
实例 调用附加字段 既内容模型中自定义表的字段
~~~
{qing:list catid=2 addfield=1 num=10 }
模型的自定义字段都可以在此输出显示 {qing:$qing['ceshi']}
{/qing:list}
~~~
其实只要调用的表中有对应的字段 即可填写进去
比如 abc表中有个字段jiage 那么你想调用价格等=20的内容咋办呢 如果是范围呢 那么就是jiage=(20-30) 就是20-30之间的
~~~
{qing:list table=abc jiage=20 }
{qing:$qing['jiage']} // 就是这么简单
{/qing:list}
~~~
搜索模式调用 调用标题含有你好的文章 table=调用的表默认表为content 你可以选择其他的表用搜索模式
~~~
{qing:list title=%你好% }
{qing:$qing['title']} // 就是这么简单
{/qing:list}
~~~
调用id=1的文章那就是
~~~
{qing:list id=1 }
{qing:$qing['title']} // 就是这么简单
{/qing:list}
~~~
更多的可以参考默认模板里面的标签,已经包含了绝大部分调用演示