一斗自定义标签

一斗自定义标签
一斗自定义标签

本文档介绍 ydtaglib 提供的自定义模板标签库,包括启用方式、可用标签、属性说明以及示例用法,帮助你在前台模板中便捷地渲染内容列表和栏目字段等数据。

快速上手

在官方的前台模板文件中(如 template/cms/...)直接书写

可用标签

当前模块在基础 CMS 标签库的基础上新增了以下标签:

  • ylist:内容列表容器(支持分页、筛选、缓存等)

  • ylist_item:列表循环项(置于 ylist 内部)

  • ylist_empty:空数据时的渲染块(置于 ylist 内部)

  • ylist_empty_any:按名称检查任意列表是否为空(进阶用法)

  • sort_field:输出指定栏目的单个字段

说明:本模块继承了 CMS 的通用标签库(modules/cms/taglib/Bd.php),因此 {bd:list}{bd:nav}{bd:sort} 等基础标签也可正常使用。

本文侧重介绍本模块新增的 ylist 系列与 sort_field

ylist — 内容列表

作用:相比官方list标签,支持空元素渲染和数据缓存

常用属性:

  • scode:栏目编码

  • * 表示所有栏目

  • 省略时默认取当前栏目 $sort['scode'],且若未显式设置 page,会自动开启分页(等价于 page="1"

  • page:是否分页(true/false 或页码参数)

  • start:起始偏移(默认 0

  • num:数量限制

  • order:排序表达式(如 id desc

  • filter:筛选条件(表达式或变量)

  • tags:标签筛选(字符串)

  • fuzzy:标签筛选是否模糊匹配(默认 true

  • isicoispicsistopisrecommendisheadline:常见布尔筛选项

  • name:列表数据在模板中的命名(默认 bd_list,多个list须指定不同的name)

  • cache:是否使用缓存(true/false,默认 false

示例:

开启缓存:

缓存键由查询参数组合并 md5 生成;当筛选条件、排序或数量变更时,会形成不同的缓存键。

ylist_item — 列表项循环

作用:ylist必须使用的列表项标签!需置于 ylist 内部。

属性:

  • alias:当前项在循环内的别名(默认 list

  • empty:空数据时的占位内容(建议使用 ylist_empty 代替)

  • key:当前循环索引名称(默认 i

  • mod:奇偶等取模标记(默认 2),可用于样式切换

示例:


ylist_empty — 空数据渲染

作用:当列表数据为空时渲染其中内容;需置于 ylist 内部。

示例:

ylistemptyany — 任意位置的空数据标签(进阶)

作用:如果你的空元素在列表外面,可以使用这个标签

注意:在ylist调用后面调用本标签,name必须和list的name对应

属性:

  • name:与 ylistname 属性保持一致。例如 name="article"

示例:

注:更常见的做法是使用置于 ylist 内部的 ylist_emptyylist_empty_any 适用于空态提示需要与列表块分离的位置化需求。

sort_field — 输出栏目字段

作用:根据 scode 加载栏目并输出指定字段的值,常用于 SEO 字段、扩展字段等场景。比官方的sort标签更方便调用。

属性:

  • scode:栏目编码(可传模板变量如 $sort['scode']

  • field:要输出的字段名(必填)

示例:

  • ylist 未显式传入 scode 时,默认取当前栏目 $sort['scode'],并自动开启分页。

  • 开启缓存后,如后台内容有更新,需要根据你的缓存策略主动清理相关缓存键,或在模板中暂时关闭缓存以观察效果。

  • 基础 CMS 标签混用时,请注意 {bd:list}{bd:ylist} 的差异:ylist 是本模块扩展,具备缓存和更灵活的空标签支持。

欢迎提出新标签需求!


BadouCMS官网 » 一斗自定义标签

点赞(0)

官方QQ群①

963655847

返回
顶部