标签参考 6
更新于 2026-10-13
标签参考 · 内容与列表
本文列出前台模板可用的全部内容类标签。标签用花括号书写。
一、内容列表 contentlist
最常用的标签,用于栏目页、首页区块。
{cms:contentlist catid="9" limit="10" page="1"}
<a href="{$item.url}">{$item.title}</a>
{/cms:contentlist}
| 属性 | 必填 | 说明 |
|---|---|---|
catid | 是 | 栏目 ID,多个用英文逗号分隔,或用 $cat.id |
limit | 否 | 每页条数,默认 10 |
page | 否 | 当前页码;传 page="1" 表示使用自动分页 |
order | 否 | 排序,默认 publish_time desc(不加反引号) |
where | 否 | 附加条件,如 is_recommend=1 |
id | 否 | 循环变量名,默认 item |
key | 否 | 索引变量名,默认 k |
offset | 否 | 跳过条数 |
day | 否 | 只取最近 N 天 |
常见用法
-- 首页推荐 6 条
{cms:contentlist catid="1,2,3" limit="6" where="is_recommend=1"}
-- 列表页(带分页)
{cms:contentlist catid="$cat.id" limit="15" page="1"}
-- 排除当前内容
{cms:contentlist catid="$cat.id" limit="5" where="id<>$content.id"}
列表标签已自动携带模型的扩展字段,
{$item.price}、{$item.thumb}等可直接使用。
二、分页 pagelist
与 contentlist 搭配,放在列表标签之后:
{cms:pagelist /}
可自定义样式:
{cms:pagelist item="3" active="current" /}
| 属性 | 默认 | 说明 |
|---|---|---|
item | 5 | 显示的页码数量 |
active | active | 当前页 class |
prev | 上一页 | 上一页文案 |
next | 下一页 | 下一页文案 |
三、详情页
详情页不需要标签,控制器已注入 $content 数组:
<h1>{$content.title}</h1>
<time>{$content.publish_time|date="Y-m-d"}</time>
<div class="article-body">{$content.content|raw}</div>
{if $content.thumb}
<img src="{$content.thumb}" alt="{$content.title}">
{/if}
四、单页
单页(关于我们 / 联系方式)同样直取 $content:
<div class="page-body">{$content.content|raw}</div>
五、栏目列表 categorylist
{cms:categorylist id="c" limit="10"}
<a href="{$c.url}">{$c.name}</a>
{/cms:categorylist}
| 属性 | 说明 |
|---|---|
pid | 父栏目 ID,默认 0(顶级) |
self | 是否包含当前栏目 |
tree | 是否输出树形结构 |
limit | 条数 |
树形输出
{cms:categorylist pid="0" tree="true" id="c"}
<h3>{$c.name}</h3>
{if !empty($c.children)}
<ul>
{volist name="c.children" id="sub"}
<li><a href="{$sub.url}">{$sub.name}</a></li>
{/volist}
</ul>
{/if}
{/cms:categorylist}
树形模式必须一次性取全量,不要套分页,否则子节点会因父节点不在结果集内而丢失(程序会自动把孤儿节点提升为顶级)。
六、内容详情引用
在任意页面插入另一篇内容:
{cms:content id="3" name="about"}
<h2>{$about.title}</h2>
{$about.content|raw}
{/cms:content}
七、标签云 taglist
{cms:taglist limit="30" order="count desc"}
<a href="{$tag.url}" class="tag">{$tag.name} <em>{$tag.count}</em></a>
{/cms:taglist}
八、搜索与筛选
搜索页直取 $keyword 与 $list,另有筛选标签见
标签参考 · 导航与其他。
九、性能注意
- 列表页的首屏尽量只用一层
contentlist
- 不要在同一页面反复查询同一栏目
- 首页区块建议每块
limit不超过 10