模板引用
{cms:include file="comm/head.html"}引用当前主题或回退主题中的 HTML 模板,可嵌套。
{pboot:include file="comm/head.html"}cms / hmcms / pboot / 裸 include按功能查看标签写法、用途、示例和兼容范围。
{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: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{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{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{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}所有实体/循环图片值可用{cms:form code="message"}<form action="[form:action]" [form:enctype]>[form:fields]</form>{/cms:form}后台表单定义驱动的自动字段/验证码/文件上传。
cms / hmcms / pboot block{pboot:msgaction}映射到 HMCMS code=message 的提交地址。
<form action="{pboot:msgaction}" method="post">HF14{pboot:form fcode=contact}映射到 HMCMS 对应表单 code 的提交地址。
<form action="{pboot:form fcode=contact}" method="post">HF14{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 aliaslen / 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=开启最终 HTML 中存在未解析标签时显示开发提示并写入 PHP error_log;关闭 Debug 后完全不输出。
HF14+配置参数 → 高级配置 → 模板编译缓存HF15 缓存 include 展开后的模板源,并校验全部依赖文件 mtime/size;动态数据和权限上下文不会进入缓存。
HF15配置参数 → 高级配置 → 模板性能分析 / 解析统计记录 list/nav/search/IF/SEO 等阶段耗时,并统计模板标签数量、不同标签数量、展开比和未解析标签。与系统 Debug 同开时显示。
HF16配置参数 → 高级配置 → 模板 SQL 查询分析统计模板渲染期间 SQL 次数、每个解析阶段的查询次数/耗时、重复查询指纹和最慢查询;SQL 常量会先脱敏。
HF16配置参数 → 高级配置 → 模板片段缓存控制 {cms:cache}/{cms:fragment}。适合首页新闻、产品推荐、公共侧栏等非分页组件;内容/栏目更新会随 RuntimeCache 一起失效。
HF16无万能 SQL 标签模板不会获得直接执行任意 SQL 的能力;数据调用统一经过仓储和字段白名单。
安全设计按模板上下文查询可以读取的字段名。
全站基础信息与当前语言环境。 {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} |
locale | Locale | 标准 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_enabled | API 状态 | 站点 API 是否开启。 | {site:api_enabled} |
由 SEO 服务根据首页、栏目、内容、搜索或标签页实时生成。 {seo:字段名}
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
title | SEO 标题 | 当前页面最终 SEO Title。 | {seo:title} |
keywords | SEO 关键词 | 当前页面最终关键词。 | {seo:keywords} |
description | SEO 描述 | 当前页面最终 description。 | {seo:description} |
robots | Robots 指令 | 例如 index,follow 或 noindex,follow。 | {seo:robots} |
canonical | Canonical URL | 当前页面规范地址;未启用或 Noindex 页面可能为空。 | {seo:canonical} |
hreflang | hreflang 标签 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 | 是否自身 Canonical | 1 表示 Canonical 指向当前页面自身。 | {seo:self_canonical} |
当前栏目、指定栏目和导航循环共用栏目数据;sort/nav 还包含计算后的 Pboot 兼容字段。 {category:字段} · {sort:字段} · [nav:字段] · [sort:字段]
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
id / scode | 栏目 ID | 栏目主键;scode 为兼容别名。 | {category:id} · [nav:scode] |
parent_id / pcode | 父栏目 ID | parent_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 | 栏目描述1 | def1 为主字段;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} |
slug | URL 标识 | 当前语言内容 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} |
tags | TAG 文本 | 内容关联 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_title | SEO 标题 | 内容后台 SEO 标题。 | {content:seo_title} |
seo_keywords / keywords | SEO 关键词 | keywords 为兼容别名。 | {content:keywords} |
seo_description | SEO 描述 | 内容后台 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_url | Guest 订单查询地址 | 游客可用订单号 + 下单邮箱查询订单,自动适配语言路径。 | {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_json | SKU 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 | 购物车主体 HTML | shop/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_html | Checkout 表单 / 汇总 | shop/shopcheckout.html 使用的 Guest Checkout 联系信息、地址、配送和订单汇总组件。 | {checkout:form_html} · {checkout:summary_html} |
assets_html | Checkout 动态资源 | 国家、货币和配送变化时实时重新报价所需的前端脚本。 | {checkout:assets_html} |
cart_url / back_to_cart | Checkout 返回购物车 | 购物车 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} |
模型字段名称由后台“内容模型”决定;下面是所有字段类型统一支持的取值方式。 {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>(多选关联) | 已选文章 ID | relation 类型保存逗号分隔的文章 ID;使用 {cms:relation filter=id|{content:ext.字段名}} 遍历,按勾选顺序输出。 | {content:ext.case} |
ext.<name>.url | 图片 URL | image 类型的 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 | 第一项 URL | images/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 / type | MIME / 类型 | 附件 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] |
{cms:language} 循环当前启用语言。 [language:字段]
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
id | 语言 ID | 语言记录 ID。 | [language:id] |
name / language | 语言名称 | 后台语言名称。 | [language:name] |
code | 语言代码 | 例如 zh-cn、en、ja、ru。 | [language:code] |
locale | Locale | 翻译与 HTML lang 使用的标准 Locale。 | [language:locale] |
flag | 语言国旗 | 该语言的国旗图片地址。 | [language:flag] |
url_mode | URL 模式 | path、subdomain 或 domain。 | [language:url_mode] |
domain | 专属域名 | 子域名/独立域名模式下的完整站点根地址。 | [language:domain] |
prefix | URL 前缀 | 路径模式下是正式前缀;域名模式下保留为旧地址兼容前缀。 | [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] |
前台会员身份上下文。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} |
{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] |
{cms:link} 循环字段。 [link:字段]
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
id | 链接 ID | 记录 ID。 | [link:id] |
name | 名称 | 友情链接名称。 | [link:name] |
url / link | 链接地址 | 友情链接 URL;link 为兼容别名。 | [link:link] |
logo | Logo | 友情链接 Logo。 | [link:logo] |
description | 描述 | 友情链接描述。 | [link:description] |
group | 分组代码 | 当前链接分组 code。 | [link:group] |
n / i / index | 循环序号 | 循环序号。 | [link:i] |
{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 | 图标 class | Bootstrap 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] |
rel | rel 属性 | 根据 nofollow 和新窗口设置自动生成。 | [social:rel] |
group | 分组代码 | 当前社交媒体分组 code。 | [social:group] |
n / i / index | 循环序号 | 循环序号。 | [social:i] |
TAG 归档、TAG 循环和搜索页上下文字段。 {tag:*} · [tags:*] · {search:*}
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
tag:name / text | TAG 名称 | 当前 TAG 名称;text 为兼容字段。 | {tag:name} · [tags:text] |
tag:slug | TAG slug | TAG URL 标识。 | {tag:slug} |
tag:url / link | TAG URL | TAG 归档地址。 | [tags:link] |
tags:count / content_count | TAG 内容数 | 该 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:字段}
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
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} |
{cms:form} 块内字段。 [form:字段]
| 字段名 | 含义 | 说明 | 示例 |
|---|---|---|---|
action | 提交地址 | 当前表单 POST 地址。 | [form:action] |
enctype | enctype 属性 | 有文件字段时自动输出 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.<name> | 公司信息字段 | “基础设置/公司信息”中启用字段的 name 均可直接调用;常见 name、address、postcode、contact、mobile、phone、fax、email、qq、weixin、blicense、other。 | {company:phone} |
label.<name> | 定制标签 | “扩展管理/定制标签”中的标签 name 均可调用;editor 类型按 HTML 原样输出。 | {label:banner} |