HMCMS 模板开发手册 V0.6.0.73 返回首页
TEMPLATE DOCUMENTATION

模板标签与字段字典

HMCMS V0.6.0.73 ·
阅读方法:左侧按功能分类导航,右侧查看标签写法、使用说明、示例和字段字典。兼容形式以每条说明为准;模型扩展字段依后台配置而定。
68 个标签条目 · 290 个字段条目

标签用法

按功能查看标签写法、用途、示例和兼容范围。

公共与 SEO

模板引用

{cms:include file="comm/head.html"}

引用当前主题或回退主题中的 HTML 模板,可嵌套。

示例 / 兼容写法
{pboot:include file="comm/head.html"}cms / hmcms / pboot / 裸 include

站点信息

{site:name} / {site:logo} / {site:url}

网站名称、Logo、站点 URL、备案、版权等全局信息。

示例 / 兼容写法
{pboot:sitetitle}HMCMS 原生 + Pboot 兼容

页面 SEO

{seo:title} / {seo:keywords} / {seo:description}

当前页面自动 SEO 信息;也支持 Pboot pagetitle/pagekeywords/pagedescription。

示例 / 兼容写法
{pboot:pagetitle}HMCMS 原生 + Pboot 兼容

公司信息

{company:name} / {company:phone}

读取后台公司资料。

示例 / 兼容写法
{pboot:companyphone}HMCMS 原生 + Pboot 兼容

自定义标签

{label:css}

读取后台“定制标签”;支持 len、notext、图片尺寸等公共格式化参数。

示例 / 兼容写法
{label:banner width=1200}Pboot 原生同语法

面包屑

{cms:position separator=">"}

输出当前栏目层级面包屑。

示例 / 兼容写法
{pboot:position separator=" / "}cms / hmcms / pboot

当前网址

{cms:httpurl} / {cms:pageurl}

分别输出当前域名及当前完整页面 URL。

示例 / 兼容写法
{pboot:httpurl}cms / hmcms / pboot

条件、循环与原样块

IF 条件

{cms:if('{sort:tcode}'=='5')}...{else}...{/cms:if}

安全表达式 IF;支持编号嵌套 2if、3if 等。

示例 / 兼容写法
{pboot:2if('[nav:scode]'=='5')}...{/pboot:2if}cms / hmcms / pboot

数字循环

{cms:loop start="1" end="5"}[loop:i]{/cms:loop}

数字循环,可设置 step。

示例 / 兼容写法
{pboot:loop start=1 end=5}cms / hmcms / pboot

原样输出

{cms:noparse}...{/cms:noparse}

块内任何 HMCMS/Pboot 标签均不解析,适合 Vue/JS 模板或文档示例。

示例 / 兼容写法
{cms:noparse}{content:title}{/cms:noparse}HF14 新增;raw 为别名

能力展示守卫

{cms:can capability="member"}...{else}...{/cms:can}

HF26 支持真实会员、level.<code> / member.level.<code>、level="<code>"、min_grade / max_grade;例如 min_grade="2"。它仍只是展示层守卫,阅读/下载安全由服务器权限服务强制校验。

示例 / 兼容写法
{cms:can min_grade="2"}VIP 展示内容{/cms:can}HF26:会员等级能力

组件片段缓存

{cms:cache key="home-news" ttl="300"}...{/cms:cache}

缓存已执行完 list/nav 等昂贵循环的 HTML 组件。默认按页面、语言、主题和设备隔离;登录用户自动绕过。fragment 为别名。

示例 / 兼容写法
{cms:cache key="footer-links" scope="global" ttl="1800"}...{/cms:cache}HF16;cms / hmcms / pboot

栏目与导航

当前栏目

{category:name} / {sort:name}

读取当前栏目、父栏目、顶级栏目等上下文。

示例 / 兼容写法
{sort:tcode} {sort:parentname}HMCMS + Pboot sort 兼容

指定栏目

{cms:sort id="5,6"}[sort:name]{/cms:sort}

按栏目 ID 或 slug 调用栏目;块内可以嵌套 {cms:catpics} 读取该指定栏目的多图。

示例 / 兼容写法
{hmcms:sort scode=3}{cms:catpics}[catpic:url]{/cms:catpics}{/hmcms:sort}cms / hmcms / pboot

多级导航

{cms:nav}...{cms:nav2 parent="[nav:id]"}...{/cms:nav2}{/cms:nav}

支持 2nav/3nav 或 nav2/nav3,安全上限 32 层。

示例 / 兼容写法
{pboot:2nav parent=[nav:scode]}cms / hmcms / pboot

栏目多图

{cms:catpics num="10"}[catpic:url]{/cms:catpics}

只遍历栏目自己的多图字段 images;指定栏目可用 id 或 scode。即使该栏目使用单页模型,也不会读取单页图库。

示例 / 兼容写法
{cms:catpics scode=3}[catpic:url]{/cms:catpics}HMCMS 原生

单页多图

{cms:pagepics id="3"}[pagepic:url]{/cms:pagepics}

只遍历单页自己的 page_images;省略 id 时读取当前单页。最多 50 张,也可用 num 限制数量。单页管理 ID 即单页 ID。

示例 / 兼容写法
{cms:pagepics}[pagepic:url]{/cms:pagepics}HMCMS 原生

内容与列表

内容列表

{cms:list category="news" num="10" mnum="4"}...{/cms:list}

内容列表;支持多栏目、分页、mnum、筛选、Tags、lfield、安全排序。

示例 / 兼容写法
{pboot:list scode=2 num=10}cms / hmcms / pboot

更多/相关内容

{cms:more num="8" tags="{content:tags}"}[more:title]{/cms:more}

非分页推荐内容,详情页默认排除当前内容。

HMCMS 原生 + namespace 兼容

指定内容

{cms:content id="8"}[content:title]{/cms:content}

调用指定内容;单页还支持 scode。

示例 / 兼容写法
{pboot:content scode=6}cms / hmcms / pboot

指定单页及扩展字段

{cms:pagecontent id="3"}[content:ext_color]{/cms:pagecontent}

在首页或其他模板按单页 ID(栏目管理中的该单页 ID)读取单页字段;扩展多图可在块内嵌套 {cms:extpics field="pics"}。[content:ext_字段名] 输出单值扩展字段。也支持 scode 属性。

示例 / 兼容写法
{cms:pagecontent scode="3"}{cms:extpics field="pics"}[extpic:url]{/cms:extpics}{/cms:pagecontent}HMCMS 原生

上一篇/下一篇

{content:pretitle} / {content:nexttitle}

同栏目已发布内容的相邻内容。

示例 / 兼容写法
{content:nexttitle notext="没有了"}HMCMS + Pboot 字段兼容

扩展字段

{content:ext.material} / {content:ext_material}

读取模型扩展字段;列表/search/more 同样可用。

示例 / 兼容写法
[list:ext_material]点语法 + Pboot 下划线语法

内容多图

{cms:pics id="{content:id}"}[pics:src]{/cms:pics}

遍历系统多图或 images 类型扩展字段。

示例 / 兼容写法
{pboot:pics id={content:id}}cms / hmcms / pboot

内容附件

{cms:files id="{content:id}" field="ext_manual"}[file:name]{/cms:files}

遍历 file/files 模型字段;HF27.3 对可在线播放音视频让 [file:url]/[file:src]/[file:media] 指向受控 /media 流媒体地址,[file:download] 始终保留受控下载地址;普通附件继续走 /download。

示例 / 兼容写法
[file:media] · [file:download] · [file:size unit=kb decimal=1] KBHF27.3:私有媒体播放 + 会员下载权益

多选关联文章

{cms:relation filter=id|{content:ext_case}}<a href="[relation:link]">[relation:title]</a>{/cms:relation}

模型字段类型选“多选关联”,在内容编辑页勾选文章;字段值存储文章 ID 顺序,最多 50 篇。循环只输出已发布且可公开访问的文章;可改用 hmcms 或 pboot 前缀。

示例 / 兼容写法
{pboot:relation filter=id|{content:ext_case}}[relation:ico]{/pboot:relation}V0.6.0.31+

内容会员权益

{content:access_mode} / {content:access_level_name}

详情页可读取阅读/下载权限模式及最低会员等级元数据;access_mode/download_mode 为 public、member、level。

示例 / 兼容写法
{content:download_level_name}HF26:静态策略元数据

多选字段

{cms:checkbox id="{content:id}" field="ext_features"}[checkbox:text]{/cms:checkbox}

遍历 checkbox 或逗号分隔值。

示例 / 兼容写法
{pboot:checkbox id={content:id} field=ext_features}cms / hmcms / pboot

商城与购物车

购物车入口

{shop:cart_button}

输出带动态数量角标的购物车入口,点击自动打开右侧 Cart Drawer。

示例 / 兼容写法
<a href="{shop:cart_url}" data-hmcms-cart-toggle>Cart {shop:cart_count_html}</a>HF29.1

商品列表价格

[list:shop_price]

列表默认显示第一个可购买 SKU 的价格;简单/多规格均可通过 shop_add_button 加购物车、shop_buy_button 立即购买。

示例 / 兼容写法
[list:shop_price] [list:shop_add_button] [list:shop_buy_button]HF29.3.1.2

商品详情购买区

{shop:buy_box}

进入详情后自动选中默认 SKU,并输出价格、规格、实时库存、数量、加入购物车与立即购买。

示例 / 兼容写法
{shop:buy_box}HF29.1.3

商品参数

{shop:parameters_html}

输出当前语言商品的动态参数表;也可用 parameters_json 自行渲染。

示例 / 兼容写法
{shop:parameters_html}HF29.1.1

购物车页面

{cart:cart_table}

输出完整购物车主体,支持逐项勾选/全选;小计和 Checkout 只计算当前勾选商品。

示例 / 兼容写法
<main>{cart:cart_table}</main>HF29.1.3

Guest Checkout

{checkout:form_html}

shop/shopcheckout.html 输出联系信息、收货地址、国家、货币、国际配送方式,并根据当前购物车已选商品实时重新报价。

示例 / 兼容写法
{checkout:form_html} {checkout:summary_html} {checkout:assets_html}HF29.2

订单确认

{order:detail_html}

shop/shoporder.html 输出订单快照和确认信息;状态、支付方式和系统 UI 按当前前台语言输出,游客订单使用安全访问 Token。

示例 / 兼容写法
{order:detail_html}HF29.5.9.4

支付页面

{payment:detail_html}

shop/shoppayment.html 输出在线支付主体;支付状态和系统提示按当前前台语言输出。

示例 / 兼容写法
{payment:detail_html}HF29.5.9.4

售后 / 退款

{aftersale:detail_html}

shop/shopaftersale.html 输出售后申请、进度、退货物流和退款处理主体;系统生成 UI 按当前前台语言输出。

示例 / 兼容写法
{aftersale:detail_html}HF29.5.9.4

商品评价页面

{review:form_html}

shop/shopreview.html 支持 title/help/product_html/form_html/message_html/actions_html;系统生成 UI 按当前前台语言输出。

示例 / 兼容写法
{review:title} {review:help} {review:form_html}HF29.5.9.4

商城资源

{shop:assets}

商城核心 CSS/JS。模板引擎在商城开启时会自动注入;显式放置也不会重复加载。

HF29.1

筛选、Tags 与搜索

Tags 循环

{cms:tags num="30"}[tags:text]{/cms:tags}

全站/栏目/内容 Tags,支持独立 tag 归档。

示例 / 兼容写法
{pboot:tags id={content:id} target=tag}cms / hmcms / pboot

筛选选项

{cms:select field="ext_material" isselects="1"}...{/cms:select}

自动输出筛选链接;isselects=1 开启同字段多选。

示例 / 兼容写法
{hmcms:select field=ext_caizhi isselects=1}cms / hmcms / pboot

筛选全部

{cms:selectall field="ext_material" text="全部"}

清除当前字段筛选而保留其它条件。

cms / hmcms / pboot

搜索提交

<form action="{cms:scaction}" method="get">

搜索提交地址;keyword/q、field、scode、searchtpl 均已支持。

示例 / 兼容写法
{pboot:scaction}cms / hmcms / pboot

搜索结果

{cms:search num="20" field="title|content"}...{/cms:search}

多条件搜索结果;支持 fuzzy、filter、lfield、mark。

示例 / 兼容写法
[search:title mark=1]cms / hmcms / pboot

媒体与营销

幻灯片

{cms:slide group="home" num="5"}[slide:image]{/cms:slide}

轮播图分组;Pboot gid 可使用分组 ID 或 code。

示例 / 兼容写法
{pboot:slide gid=1}cms / hmcms / pboot

友情链接

{cms:link group="default"}[link:name]{/cms:link}

友情链接分组输出。

示例 / 兼容写法
{pboot:link gid=1}cms / hmcms / pboot

社交媒体

{cms:social group="footer" num="20"}<a href="[social:url]" target="[social:target]" rel="[social:rel]" title="[social:hover]">[social:icon_html]</a>{/cms:social}

按分组输出社媒图标;支持 Bootstrap Icons class 或上传图片。

HF29.5.5.1

二维码

{cms:qrcode string="{cms:pageurl}" size="240"}

服务器本地生成 SVG 二维码并缓存。

cms / hmcms / pboot

图片尺寸

[list:image width="400" height="300"]

等比例缩放或中心裁剪,生成可再生图片缓存。

示例 / 兼容写法
{content:image maxwidth=1200}所有实体/循环图片值可用

表单

HMCMS 表单块

{cms:form code="message"}<form action="[form:action]" [form:enctype]>[form:fields]</form>{/cms:form}

后台表单定义驱动的自动字段/验证码/文件上传。

cms / hmcms / pboot block

Pboot 留言地址

{pboot:msgaction}

映射到 HMCMS code=message 的提交地址。

示例 / 兼容写法
<form action="{pboot:msgaction}" method="post">HF14

Pboot 自定义表单地址

{pboot:form fcode=contact}

映射到 HMCMS 对应表单 code 的提交地址。

示例 / 兼容写法
<form action="{pboot:form fcode=contact}" method="post">HF14

HMCMS 自定义表单地址

{cms:formaction code="contact"}

不使用自动表单块时,输出一个明确的 HMCMS 表单提交 URL。

示例 / 兼容写法
<form action="{cms:formaction code="contact"}" method="post">HF14

验证码地址

{pboot:checkcode}

默认使用 message 表单验证码;也支持 code/fcode 参数指定其它表单。

示例 / 兼容写法
{cms:checkcode code="contact"}HF14

验证码状态

{cms:checkcodestatus code="message"}

开启返回 1,未开启返回 0。

示例 / 兼容写法
{pboot:checkcodestatus}cms / hmcms / pboot

分页、多语言与格式化

分页

{cms:page} / {page:numbar} / {page:status}

完整分页或拆分分页组件。

HMCMS 原生

语言循环

{cms:language}[language:name]{/cms:language}

输出真实多语言路径和当前状态。

示例 / 兼容写法
{pboot:language}cms / hmcms / pboot

前台会员上下文

{user:authenticated} / {user:guest} / {user:id}

HF21 已绑定真实 cms_member;支持 username/nickname/display_name/avatar/email/mobile/level_id/level_code/level_name/level_grade/points/status/roles/capabilities/identity_key。游客安全返回空值。

示例 / 兼容写法
{user:display_name} {user:level_name} {user:points}HF21:真实会员上下文

访客能力状态

{visitor:authenticated} / {visitor:guest}

visitor:* 保留为 user:* 的兼容别名,方便 HF15 模板继续使用。

示例 / 兼容写法
{visitor:capabilities}HF16 compatibility alias

格式化参数

len / lencn / substr / drophtml / dropblank / decode / style / decimal / unit / operate / notext

可附加在实体或循环字段上进行安全格式化;operate 支持 + - * / % 连续表达式并遵循先乘除取模、后加减及括号优先级;list/nav 等循环字段均可使用,除数为 0 或非法表达式时安全保持原值。

示例 / 兼容写法
[list:i operate=*100+1000] · [nav:i operate=+100*2] · [list:shop_stock operate=-1]Pboot 高频格式化能力已兼容

运行耗时

{cms:runtime precision="4"}

输出本次模板渲染耗时秒数。

示例 / 兼容写法
{pboot:runtime}cms / hmcms / pboot

调试与安全

静态模板检查

后台 → 模板管理 → 检查模板

检查未闭合块、include、未知标签、搜索/筛选参数等,并定位文件/行/列。

示例 / 兼容写法
Ctrl + Shift + DHF10+

运行时 Debug

系统设置 → Debug=开启

最终 HTML 中存在未解析标签时显示开发提示并写入 PHP error_log;关闭 Debug 后完全不输出。

HF14+

模板编译缓存

配置参数 → 高级配置 → 模板编译缓存

HF15 缓存 include 展开后的模板源,并校验全部依赖文件 mtime/size;动态数据和权限上下文不会进入缓存。

HF15

模板性能分析 / 解析统计

配置参数 → 高级配置 → 模板性能分析 / 解析统计

记录 list/nav/search/IF/SEO 等阶段耗时,并统计模板标签数量、不同标签数量、展开比和未解析标签。与系统 Debug 同开时显示。

HF16

模板 SQL 查询分析

配置参数 → 高级配置 → 模板 SQL 查询分析

统计模板渲染期间 SQL 次数、每个解析阶段的查询次数/耗时、重复查询指纹和最慢查询;SQL 常量会先脱敏。

HF16

模板片段缓存

配置参数 → 高级配置 → 模板片段缓存

控制 {cms:cache}/{cms:fragment}。适合首页新闻、产品推荐、公共侧栏等非分页组件;内容/栏目更新会随 RuntimeCache 一起失效。

HF16

不支持任意 SQL

无万能 SQL 标签

模板不会获得直接执行任意 SQL 的能力;数据调用统一经过仓储和字段白名单。

安全设计

字段字典

按模板上下文查询可以读取的字段名。

站点字段 site:*

全站基础信息与当前语言环境。 {site:字段名}

字段名含义说明示例
name网站名称当前语言的网站名称。{site:name}
url站点 URL后台配置的站点 URL。{site:url}
logo网站 Logo网站 Logo 地址。{site:logo}
keywords默认关键词当前语言首页/默认 SEO 关键词。{site:keywords}
description默认描述当前语言首页/默认 SEO 描述。{site:description}
icp备案号站点 ICP/备案信息。{site:icp}
copyright版权信息当前语言版权信息。{site:copyright}
lang语言代码当前语言 code,例如 zh-cn、en、ja、ru。{site:lang}
language语言名称当前语言后台名称,例如 简体中文、English、日本語。{site:language}
localeLocale标准 Locale,例如 zh-CN、en、ja、ru。{site:locale}
flag语言国旗当前语言在“语言管理”中上传/选择的国旗图片地址。{site:flag}
url_mode语言 URL 模式path、subdomain 或 domain。{site:url_mode}
domain语言专属域名子域名/独立域名模式下的完整站点根地址;路径模式为空。{site:domain}
lang_prefix语言 URL 前缀路径模式下是正式前缀;专属域名模式下保留为旧地址 301 兼容前缀。{site:lang_prefix}
lang_url语言首页当前语言首页 URL。{site:lang_url}
search_url搜索地址当前语言搜索页面 URL。{site:search_url}
template模板目录当前语言实际使用的模板目录名称。{site:template}
tplpath模板静态资源路径/static/<当前模板>/ 路径。template_url、sitetplpath 为同义字段。{site:tplpath}/css/style.css
template_url模板静态资源路径别名与 tplpath 相同。{site:template_url}
sitetplpath模板静态资源路径兼容名与 tplpath 相同,兼容旧模板。{site:sitetplpath}
wechat_enabled微信功能状态微信功能是否开启。{site:wechat_enabled}
wechat_appid微信 AppID当前微信 AppID。{site:wechat_appid}
wechat_share_icon微信分享图微信分享默认图片。{site:wechat_share_icon}
api_enabledAPI 状态站点 API 是否开启。{site:api_enabled}

页面 SEO 字段 seo:*

由 SEO 服务根据首页、栏目、内容、搜索或标签页实时生成。 {seo:字段名}

字段名含义说明示例
titleSEO 标题当前页面最终 SEO Title。{seo:title}
keywordsSEO 关键词当前页面最终关键词。{seo:keywords}
descriptionSEO 描述当前页面最终 description。{seo:description}
robotsRobots 指令例如 index,follow 或 noindex,follow。{seo:robots}
canonicalCanonical URL当前页面规范地址;未启用或 Noindex 页面可能为空。{seo:canonical}
hreflanghreflang 标签 HTML完整的多语言 <link rel="alternate"> HTML;按原样输出。{seo:hreflang}
schema结构化数据HMCMS 管理的 JSON-LD;可显式放在 head 中。{seo:schema}
page_type页面类型home、category、content、pagination、search 等。{seo:page_type}
indexable是否允许索引1=可索引,0=Noindex。{seo:indexable}
followable是否允许跟踪链接1=follow,0=nofollow。{seo:followable}
self_canonical是否自身 Canonical1 表示 Canonical 指向当前页面自身。{seo:self_canonical}

栏目 / 导航字段

当前栏目、指定栏目和导航循环共用栏目数据;sort/nav 还包含计算后的 Pboot 兼容字段。 {category:字段} · {sort:字段} · [nav:字段] · [sort:字段]

字段名含义说明示例
id / scode栏目 ID栏目主键;scode 为兼容别名。{category:id} · [nav:scode]
parent_id / pcode父栏目 IDparent_id 为原字段,pcode 为兼容别名。[nav:pcode]
model_id内容模型 ID栏目绑定的模型 ID。{category:model_id}
name栏目名称栏目主名称。{category:name} · [nav:name]
subtitle / subname栏目副标题后台栏目副标题;subtitle 为数据字段名,subname 为栏目与导航兼容别名。{category:subname} · [nav:subname]
slug栏目 URL 标识栏目 slug。{category:slug}
url / link栏目 URL按当前语言与 URL 规则生成的真实栏目地址。[nav:link]
outlink外链地址外链栏目配置的目标地址。{category:outlink}
ico栏目缩略图栏目图标/缩略图。{category:ico}
ico_title缩略图标题栏目缩略图标题说明。{category:ico_title}
ico_subtitle缩略图副标题栏目缩略图副标题。{category:ico_subtitle}
ico_description缩略图描述栏目缩略图描述。{category:ico_description}
pics / images栏目多图原值仅栏目图库数据;遍历请优先使用 {cms:catpics},指定栏目可传 id 或 scode。单页图库使用 page_images 和 {cms:pagepics},两者互不读取。{cms:catpics id="3"}[catpic:i] [catpic:url]{/cms:catpics}
def1 / description栏目描述1def1 为主字段;description 为历史兼容别名。{category:def1}
def2栏目描述2自由文本/资源字段。{category:def2}
def3栏目描述3自由文本/资源字段;私有附件会自动转换为受控地址。{category:def3}
def4栏目描述4自由文本/资源字段;私有附件会自动转换为受控地址。{category:def4}
content单页正文单页栏目正文,按 HTML 原样输出。{category:content}
title栏目 SEO 标题兼容值有 seo_title 时取 seo_title,否则取栏目名称。[nav:title]
keywords / seo_keywords栏目 SEO 关键词keywords 为兼容别名。[nav:keywords]
seo_title栏目 SEO 标题后台栏目 SEO 标题。{category:seo_title}
seo_description栏目 SEO 描述后台栏目 SEO 描述。{category:seo_description}
listtpl列表模板template_list 的兼容字段。[nav:listtpl]
contenttpl详情模板template_content 的兼容字段。[nav:contenttpl]
pagetpl单页模板template_page 的兼容字段。[nav:pagetpl]
type / typecode栏目类型代码1=单页,2=列表,3=外链;modeltype 保留 page/list/link 文本。[nav:type]
modeltype栏目类型文本page、list 或 link。[nav:modeltype]
soncount / child_count直属子栏目数当前栏目启用状态的直属子栏目数量。[nav:soncount]
has_children是否有子栏目1=有子栏目,0=无。[nav:has_children]
ispost是否允许会员投稿1=开启投稿,0=关闭。[nav:ispost]
parentname / parentlink父栏目名称/链接父栏目上下文。[nav:parentname] · [nav:parentlink]
tcode / topname / toplink顶级栏目顶级栏目 ID、名称和链接。[nav:tcode] · [nav:topname]
rows / parentrows / toprows内容数量当前栏目、父栏目、顶级栏目的内容数量;仅模板需要时计算。[nav:rows]
sort栏目排序值后台栏目排序数字。[nav:sort]
status栏目状态1=启用,0=停用;前台通常只会拿到启用栏目。{category:status}
n / i / index循环序号循环字段:n 从 0 开始;i/index 从 1 开始。[nav:i]

内容 / 列表字段

详情、列表、搜索、推荐内容共用内容字段;单页也会映射为 content:* 兼容结构。 {content:字段} · [list:字段] · [search:字段] · [more:字段]

字段名含义说明示例
id内容 ID文章/内容主键。{content:id} · [list:id]
language_id语言 ID内容所属语言 ID。{content:language_id}
model_id模型 ID内容模型 ID。{content:model_id}
category_id / scode栏目 ID内容所属栏目;scode 为兼容字段。[list:scode]
title标题内容标题。{content:title}
subtitle副标题内容副标题。{content:subtitle}
slugURL 标识当前语言内容 slug。{content:slug}
url / link内容 URL按语言、栏目与 URL 规则生成的真实地址。[list:link]
image / ico / pic缩略图主缩略图;ico、pic 为兼容别名。{content:image}
image_title缩略图标题缩略图标题说明。{content:image_title}
image_subtitle缩略图副标题缩略图副标题。{content:image_subtitle}
image_description缩略图描述缩略图描述。{content:image_description}
images / pics多图原值系统多图数据;遍历推荐 {cms:pics}。{content:pics}
description摘要文章摘要/描述。{content:description}
content正文富文本正文,模板中按 HTML 原样输出。{content:content}
author作者文章作者。{content:author}
source来源文章来源。{content:source}
tagsTAG 文本内容关联 TAG 的文本表示。{content:tags}
date发布日期优先 published_at,其次 created_at,格式 YYYY-MM-DD。{content:date}
views / visits浏览量views 为原字段;visits 为兼容别名。{content:views}
sort / sorting排序值sort 为原字段;sorting 为兼容别名。[list:sorting]
is_top / istop置顶状态1=置顶。[list:istop]
is_recommend / isrecommend推荐状态1=推荐。[list:isrecommend]
is_headline / isheadline头条状态1=头条。[list:isheadline]
isico是否有缩略图1=有主图。[list:isico]
ispics是否有多图1=存在多图数据。[list:ispics]
sortname / sortlink所属栏目名称/链接内容所属栏目。[list:sortname]
seo_titleSEO 标题内容后台 SEO 标题。{content:seo_title}
seo_keywords / keywordsSEO 关键词keywords 为兼容别名。{content:keywords}
seo_descriptionSEO 描述内容后台 SEO 描述。{content:seo_description}
access_mode阅读权限模式public、member 或 level。{content:access_mode}
access_level_id阅读最低等级 ID等级阅读权限要求的会员等级 ID。{content:access_level_id}
access_level_name阅读最低等级名称等级阅读权限要求的会员等级名称。{content:access_level_name}
access_level_code阅读最低等级代码等级代码。{content:access_level_code}
access_level_grade阅读最低等级级别等级 grade 数值。{content:access_level_grade}
access_operator等级比较方式gte/lte/eq 等内部比较方式。{content:access_operator}
access_operator_label等级比较方式文本人类可读的比较方式。{content:access_operator_label}
download_mode下载权限模式public、member 或 level。{content:download_mode}
download_level_id下载最低等级 ID下载权限要求的等级 ID。{content:download_level_id}
download_level_name下载最低等级名称下载权限要求的等级名称。{content:download_level_name}
download_level_code下载最低等级代码下载权限要求的等级 code。{content:download_level_code}
download_level_grade下载最低等级级别下载权限要求的 grade。{content:download_level_grade}
pretitle / prelink / preurl上一篇同栏目的上一篇标题与 URL。{content:pretitle} · {content:prelink}
preico / preimage上一篇图片上一篇主图。{content:preico}
precontent上一篇链接 HTML已生成的 <a> 标签 HTML。{content:precontent}
nexttitle / nextlink / nexturl下一篇同栏目的下一篇标题与 URL。{content:nexttitle}
nextico / nextimage下一篇图片下一篇主图。{content:nextico}
nextcontent下一篇链接 HTML已生成的 <a> 标签 HTML。{content:nextcontent}
n / i / index循环序号list/search/more 循环:n 从 0 开始,i/index 从 1 开始。[list:i]

商城 / 购物车字段

HF29 Commerce 动态字段。商城商品页建议保持动态渲染,价格、库存和购物车状态不会写入静态 HTML。 {shop:字段} · {cart:字段} · [list:shop_字段]

字段名含义说明示例
enabled商城状态1=商城开启,0=商城关闭。{shop:enabled}
base_currency基准货币商城基础货币代码,例如 USD。{shop:base_currency}
currency_symbol货币符号当前基准货币符号。{shop:currency_symbol}
cart_url购物车地址自动适配默认语言、路径语言及独立域名。{shop:cart_url}
checkout_url结账地址Guest Checkout 地址,自动适配语言路径与独立域名。{shop:checkout_url}
order_query_urlGuest 订单查询地址游客可用订单号 + 下单邮箱查询订单,自动适配语言路径。{shop:order_query_url}
cart_count_html购物车数量 HTML动态数量角标;前端脚本会自动刷新。{shop:cart_count_html}
cart_button购物车入口 HTML自带 data-hmcms-cart-toggle,可打开右侧 Cart Drawer。{shop:cart_button}
assets商城前端资源商城 CSS/JS 资源;模板引擎通常会自动注入。{shop:assets}
product_id / product_code商品 ID / SPU当前商城商品主数据标识。{shop:product_id} · {shop:product_code}
product_type商品类型simple 或 variant。{shop:product_type}
price_formatted默认 SKU 价格商城详情首次进入时显示默认 SKU(优先第一个可购买规格)的价格。{shop:price_formatted}
price_range_formatted价格区间文本多规格商品最低价–最高价格式化文本。{shop:price_range_formatted}
min_price_formatted / max_price_formatted价格区间多规格商品最低/最高售价。{shop:min_price_formatted}
total_stock总库存当前商品有效 SKU 库存合计。{shop:total_stock}
default_variant_id默认 SKU ID简单商品默认 SKU;多规格商品优先使用第一个可购买 SKU,详情会自动选中它。{shop:default_variant_id}
options_html规格选择 HTML详情页规格按钮 HTML。{shop:options_html}
buy_box购买区 HTML价格、规格、库存、数量和加入购物车的完整通用购买组件。{shop:buy_box}
add_button加入购物车按钮详情页通用加入购物车按钮。{shop:add_button}
variant_jsonSKU JSON详情页前端规格匹配所需的安全 JSON。{shop:variant_json}
parameter_count / parameters_title商品参数数量 / 标题用于条件显示参数区及当前语言参数标题。{shop:parameter_count} · {shop:parameters_title}
parameters_html商品参数 HTML当前语言商品参数的结构化展示 HTML;参数与语言内容独立维护。{shop:parameters_html}
parameters_json商品参数 JSON当前语言商品参数 JSON,适合高度定制前端自行渲染。{shop:parameters_json}
shop_price列表商品价格商城商品在 list/search/more 循环中的格式化价格。[list:shop_price]
shop_price_range列表价格区间需要展示最低价–最高价时使用;shop_price 默认显示默认 SKU 价格。[list:shop_price_range]
shop_stock列表商品库存商城商品有效 SKU 总库存。[list:shop_stock]
shop_default_variant_id列表默认 SKU简单/多规格商品的默认可购买 SKU ID。[list:shop_default_variant_id]
shop_add_button列表加入购物车简单和多规格商品都可直接加入购物车;多规格默认加入第一个可购买 SKU,访客可进入详情再切换规格。[list:shop_add_button]
shop_buy_button列表立即购买直接购买当前商品的默认可购买 SKU,并只选中该 SKU 进入 Checkout;购物车其他商品保留但不会一起结账。[list:shop_buy_button]
cart_table购物车主体 HTMLshop/shopcart.html 推荐直接放置的购物车完整组件。{cart:cart_table}
items_html购物车商品 HTML购物车商品行。{cart:items_html}
summary_html购物车汇总 HTML当前商品总计。{cart:summary_html}
checkout_button继续结账按钮进入 Checkout 的按钮。{cart:checkout_button}
item_count / line_count购物车数量item_count 为购物车总件数,line_count 为全部商品行数。{cart:item_count}
selected_item_count / selected_line_count已选购物车数量仅统计当前勾选并准备进入 Checkout 的商品。{cart:selected_item_count}
subtotal_formatted已选商品小计只计算当前勾选商品的格式化小计;取消勾选不会删除购物车商品。{cart:subtotal_formatted}
all_subtotal_formatted全部购物车小计忽略勾选状态、计算购物车全部商品的总额。{cart:all_subtotal_formatted}
form_html / summary_htmlCheckout 表单 / 汇总shop/shopcheckout.html 使用的 Guest Checkout 联系信息、地址、配送和订单汇总组件。{checkout:form_html} · {checkout:summary_html}
assets_htmlCheckout 动态资源国家、货币和配送变化时实时重新报价所需的前端脚本。{checkout:assets_html}
cart_url / back_to_cartCheckout 返回购物车购物车 URL 与当前语言的“返回购物车”文字。{checkout:cart_url} · {checkout:back_to_cart}
detail_html订单确认主体shop/shoporder.html 使用的订单号、状态、商品快照、地址和金额汇总;系统生成 UI 会按当前前台语言渲染。{order:detail_html}
detail_html支付主体shop/shoppayment.html 的在线支付主体;支付提示按当前前台语言渲染。{payment:detail_html}
detail_html售后 / 退款主体shop/shopaftersale.html 使用的售后申请表单、售后进度、退货物流和处理结果主体;系统生成 UI 会按当前前台语言渲染。{aftersale:detail_html}
title / help / product_html / form_html / message_html / actions_html商品评价页面字段shop/shopreview.html 的评价标题、帮助文案、商品卡片、评价表单、消息和操作按钮,全部按当前前台语言渲染。{review:title} · {review:help} · {review:form_html}

扩展字段 ext.*

模型字段名称由后台“内容模型”决定;下面是所有字段类型统一支持的取值方式。 {content:ext.字段名} · [list:ext_字段名]

字段名含义说明示例
ext.<name> / ext_<name>扩展字段主值text/textarea/editor/date/number/select/switch 等直接输出;image/file 输出 URL;images/files 输出第一项;checkbox 输出逗号分隔。{content:ext.material} · [list:ext_material]
ext.<name>(多选关联)已选文章 IDrelation 类型保存逗号分隔的文章 ID;使用 {cms:relation filter=id|{content:ext.字段名}} 遍历,按勾选顺序输出。{content:ext.case}
ext.<name>.url图片 URLimage 类型的 URL 子字段。{content:ext.cover.url}
ext.<name>.title图片标题image 类型标题。{content:ext.cover.title}
ext.<name>.subtitle图片副标题image 类型副标题。{content:ext.cover.subtitle}
ext.<name>.description图片描述image 类型描述。{content:ext.cover.description}
ext.<name>.count项目数量images/files/blocks/checkbox 等集合字段的数量。{content:ext.gallery.count}
ext.<name>.first第一项 URLimages/files 集合第一项地址;私有音视频可能为受控播放地址。{content:ext.manuals.first}
ext.<name>.filename附件完整文件名file/files 第一项附件文件名。{content:ext.manual.filename}
ext.<name>.name附件显示名不含路径的附件名称。{content:ext.manual.name}
ext.<name>.ext附件扩展名例如 pdf、mp4。{content:ext.manual.ext}
ext.<name>.size / size_bytes附件大小附件大小及字节数。{content:ext.manual.size}
ext.<name>.mime / type附件类型MIME 与归类类型。{content:ext.manual.mime}
ext.<name>.is_image/is_video/is_audio媒体类型判断返回 1/0。{content:ext.media.is_video}
ext.<name>.is_document/is_archive文档/压缩包判断返回 1/0。{content:ext.manual.is_document}
ext.<name>.download受控下载地址file/files 在权限场景下输出受控下载 URL。{content:ext.manual.download}
ext.<name>.media / src受控媒体播放地址音视频优先输出 Range-capable 媒体地址;src 为推荐使用地址。{content:ext.video.src}
ext.<name>.first_ico/title/subtitle区块第一项blocks 类型第一项的图标、标题、副标题。{content:ext.blocks.first_title}
table/row/cell万能表格高级循环table 字段可逐行逐单元格自定义 HTML;支持中文字段显示名或字段名。{table field="参数表"}{row}{cell}{$cell}{/cell}{/row}{/table}
$cell.* / $row.index / $table.*万能表格循环变量支持 cell、text、type、url、filename、cell.index、row.index、table.rows、table.cols。{$cell} · {$cell.type} · {$cell.filename}

多图 / 附件 / 关联循环字段

多图、附件和已选关联文章循环内部字段;关联文章也支持“内容 / 列表字段”中除动态上下文外的公开内容字段。 [pics:*] · [catpic:*] · [pagepic:*] · [file:*] · [extpic:*] · [relation:*]

字段名含义说明示例
relation:id/title/link/ico关联文章多选关联循环的文章 ID、标题、URL 和缩略图。[relation:title] · [relation:link]
relation:n/i/index关联序号n 从 0 开始;i/index 从 1 开始,按后台勾选文章的顺序。[relation:i]
url / src资源地址图片 URL 或附件/媒体地址。[pics:src] · [file:src]
title标题图片/附件项目标题。[pics:title]
subtitle副标题图片项目副标题。[pics:subtitle]
description描述图片项目描述。[pics:description]
index / i序号当前循环序号,从 1 开始;pics、catpic、extpic 循环均支持。[pics:index] · [catpic:i] · [extpic:i]
pagepic:url/title/subtitle/description/i单页图库项目单页模型独立图库的图片地址、标题、副标题、描述和序号;当前单页用 {cms:pagepics},任意页面可按单页 ID 指定。{cms:pagepics id="3"}[pagepic:url] [pagepic:title] [pagepic:i]{/cms:pagepics}
name / filename附件名称附件显示名/完整文件名。[file:name]
ext附件扩展名例如 pdf、zip、mp4。[file:ext]
size / size_bytes附件大小支持公共 unit / decimal 格式化参数。[file:size unit=kb decimal=1]
mime / typeMIME / 类型附件 MIME 与归类。[file:mime]
download下载地址始终指向可受控下载地址。[file:download]
media音视频播放地址音视频时为受控 Range 播放地址,否则为空。[file:media]
is_image/is_video/is_audio媒体判断对应类型返回 1。[file:is_audio]
is_document/is_archive文档/压缩包判断对应类型返回 1。[file:is_document]

语言循环字段 language:*

{cms:language} 循环当前启用语言。 [language:字段]

字段名含义说明示例
id语言 ID语言记录 ID。[language:id]
name / language语言名称后台语言名称。[language:name]
code语言代码例如 zh-cn、en、ja、ru。[language:code]
localeLocale翻译与 HTML lang 使用的标准 Locale。[language:locale]
flag语言国旗该语言的国旗图片地址。[language:flag]
url_modeURL 模式path、subdomain 或 domain。[language:url_mode]
domain专属域名子域名/独立域名模式下的完整站点根地址。[language:domain]
prefixURL 前缀路径模式下是正式前缀;域名模式下保留为旧地址兼容前缀。[language:prefix]
url / link语言首页 URL该语言真实首页地址;专属域名模式会输出完整跨域 URL。[language:url]
current是否当前语言1=当前访问语言。[language:current]
default是否默认语言1=网站默认语言。[language:default]
n / i / index循环序号n 从 0 开始,i/index 从 1 开始。[language:i]

会员字段 user:* / visitor:*

前台会员身份上下文。visitor:* 为兼容别名;后台新增的会员自定义字段也会按字段名动态加入 user:*。 {user:字段}

字段名含义说明示例
id / member_id会员 ID未登录为 0。{user:id}
authenticated / guest登录状态authenticated=1 表示已登录;guest 与之相反。{user:authenticated}
username用户名会员用户名。{user:username}
nickname / display_name昵称/显示名优先显示会员昵称。{user:display_name}
avatar / headpic头像会员头像;为空时可返回默认头像。{user:avatar}
email / useremail邮箱会员邮箱。{user:email}
mobile / usermobile手机号会员手机号。{user:mobile}
level_id等级 ID当前会员等级 ID。{user:level_id}
level_code等级代码会员等级 code。{user:level_code}
level_name / gname等级名称会员等级名称。{user:level_name}
level_grade等级级别等级 grade 数值。{user:level_grade}
points / score会员积分当前积分余额。{user:points}
status会员状态会员状态数值。{user:status}
created_at / registertime注册时间会员创建时间。{user:registertime}
last_login_at / lastlogintime最后登录时间最近成功登录时间。{user:last_login_at}
last_login_ip / lastloginip最后登录 IP最近登录 IP。{user:last_login_ip}
login_count / logincount登录次数累计登录次数。{user:login_count}
roles角色列表逗号分隔角色。{user:roles}
capabilities能力列表逗号分隔的前台能力。{user:capabilities}
identity_key身份缓存键guest 或当前身份唯一上下文键,主要用于调试/缓存隔离。{user:identity_key}
<自定义会员字段>会员扩展资料后台“会员字段”中合法字段名会自动成为 {user:字段名};如 nickname、sex、birthday、telephone、qq。{user:telephone}
birthday_date格式化生日birthday 自定义字段存在时输出 YYYY-MM-DD。{user:birthday_date}

幻灯片 slide:*

{cms:slide} 循环字段。 [slide:字段]

字段名含义说明示例
id幻灯片 ID记录 ID。[slide:id]
title标题幻灯片标题。[slide:title]
subtitle副标题幻灯片副标题。[slide:subtitle]
image / src / pic主图幻灯片图片;src/pic 为兼容别名。[slide:src]
thumbnail缩略图幻灯片缩略图。[slide:thumbnail]
url / link链接点击跳转 URL;link 为兼容别名。[slide:link]
description描述幻灯片描述。[slide:description]
def1/def2/def3自定义说明幻灯片附加字段。[slide:def1]
group分组代码当前幻灯片分组 code。[slide:group]
n / i / index循环序号循环序号。[slide:i]

友情链接 link:*

{cms:link} 循环字段。 [link:字段]

字段名含义说明示例
id链接 ID记录 ID。[link:id]
name名称友情链接名称。[link:name]
url / link链接地址友情链接 URL;link 为兼容别名。[link:link]
logoLogo友情链接 Logo。[link:logo]
description描述友情链接描述。[link:description]
group分组代码当前链接分组 code。[link:group]
n / i / index循环序号循环序号。[link:i]

社交媒体 social:*

{cms:social} 循环字段。 [social:字段]

字段名含义说明示例
id社媒 ID记录 ID。[social:id]
name平台名称Facebook、X、TikTok 等平台名称。[social:name]
url / link链接地址社交媒体主页 URL;link 为兼容别名。[social:link]
icon_type图标类型class 或 image。[social:icon_type]
icon_class图标 classBootstrap Icons class,例如 bi bi-facebook。[social:icon_class]
image / icon_image上传图片自定义上传的社媒图标图片。[social:image]
icon_html自动图标 HTML根据图标类型自动输出 i 或 img,可直接放在链接内。[social:icon_html]
hover / hover_text / title悬浮提示鼠标悬浮提示文案。[social:hover]
target打开方式_self 或 _blank。[social:target]
relrel 属性根据 nofollow 和新窗口设置自动生成。[social:rel]
group分组代码当前社交媒体分组 code。[social:group]
n / i / index循环序号循环序号。[social:i]

TAG / 搜索字段

TAG 归档、TAG 循环和搜索页上下文字段。 {tag:*} · [tags:*] · {search:*}

字段名含义说明示例
tag:name / textTAG 名称当前 TAG 名称;text 为兼容字段。{tag:name} · [tags:text]
tag:slugTAG slugTAG URL 标识。{tag:slug}
tag:url / linkTAG URLTAG 归档地址。[tags:link]
tags:count / content_countTAG 内容数该 TAG 关联的已发布内容数量。[tags:count]
search:keyword搜索关键词当前搜索关键词。{search:keyword}
search:field搜索字段当前参与关键词搜索的字段字符串。{search:field}
search:scode栏目范围当前搜索栏目 ID 列表。{search:scode}
search:fuzzy模糊搜索状态1=模糊搜索。{search:fuzzy}
search:count搜索结果数当前搜索命中总数。{search:count}
search:template搜索模板当前搜索模板名。{search:template}

分页 page:*

列表/搜索分页上下文。 {page:字段}

字段名含义说明示例
numbar数字分页数字分页 HTML。{page:numbar}
status页码状态当前页/总页数文本。{page:status}
current当前页当前页码。{page:current}
count总页数分页总页数。{page:count}
rows总记录数当前分页结果的总记录数量。{page:rows}
index/pre/next/last分页链接首页、上一页、下一页、末页 URL。{page:next}
selectbar下拉分页页码下拉选择 HTML。{page:selectbar}

表单 form:*

{cms:form} 块内字段。 [form:字段]

字段名含义说明示例
action提交地址当前表单 POST 地址。[form:action]
enctypeenctype 属性有文件字段时自动输出 multipart/form-data 属性。[form:enctype]
fields自动字段 HTML根据后台表单字段自动生成的输入控件。[form:fields]
captcha验证码 HTML当前表单验证码控件。[form:captcha]
captcha_url验证码图片地址当前表单验证码 URL。[form:captcha_url]
captcha_enabled验证码状态1=启用。[form:captcha_enabled]
message提交结果消息成功或失败后的提示消息。[form:message]
status提交结果状态success/error 或空。[form:status]

动态全局字段 company:* / label:*

字段名称由后台配置生成,因此手册说明调用规则而不是固定字段表。 {company:字段名} · {label:标签名}

字段名含义说明示例
company.<name>公司信息字段“基础设置/公司信息”中启用字段的 name 均可直接调用;常见 name、address、postcode、contact、mobile、phone、fax、email、qq、weixin、blicense、other。{company:phone}
label.<name>定制标签“扩展管理/定制标签”中的标签 name 均可调用;editor 类型按 HTML 原样输出。{label:banner}