为了方便大家在模板里面快速的调用数据库内容,Sycms基于TP自带的标签库扩展功能,为大家集成了通用标签库(循环标签)功能。下面将具体说明通用标签的使用。
## 什么是标签
标签存在的意义就是将复杂的原始PHP数据调用语句封装为简单易懂的格式化标签,便于归纳整理及团队协作。比如,让前端工程师直接完成数据的调用而无需知道其内部的构造及原理。
## 循环标签库
循环标签通常用于对数组或对象的循环输出,一般在模板中以「列表」的形式体现。基本格式如下:
~~~
<ul>
{sy_list where="['isover'=>'1']" order="allvisit desc" limit="30" key='full'}
<li>{$item.novel.name}</li>
{/sy_list}
</ul>
~~~
## 循环标签属性详解
| 参数 | 说明 | 默认值 | 描述 |
| --- | --- | --- | --- |
| where | 表查询条件 | 无 | 注意:如查询条件为拼装字符串需用单引号引起来,字符串带变量查询示例:'cid = '.$cid.' and status > 0',数组带查询示例:\['cid' => $cid, 'status' => \['gt', 0\]\] |
| order | 返回结果排序 | 无 | 示例值:id desc |
| limit | 限制返回结果数量 | 20 | 只能填写正整数 |
| page | 分页页码 | 1 | 只能填写正整数 |
| key | 缓存标识 | i | 示例值:k |
## 标签嵌套示例代码
~~~
{sy_list where="['isover'=>'1']" order="allvisit desc" limit="30" key='full'}
<div class="block">
<div class="block_img">
<a href="{$item.url.novel}"><img src="{$item.novel.cover}" alt="{$item.novel.name}" onerror="this.src='__IMAGES__/nopic.gif'"></a>
</div>
<div class="block_txt">
<p>
<a href="{$item.url.novel}">
<h2>{$item.novel.name}</h2>
</a>
</p>
<p>
作者:{$item.author.name}
</p>
<p>
时间:{$item.last.mtime|date='m-d'}
</p>
<p>{$item.novel.intro}</p>
</div>
</div>
{/sy_list}
~~~