标签语法、作用域与扩展说明
本手册包含基础语法、内容、栏目与系统标签,以及插件和专题扩展;扩展标签需要对应插件已安装并启用。
模板就是由这些标签拼出来的。自闭合标签写成 {djm:name 参数="值"/},需要循环或包裹 HTML 时用块级形式,循环内部用 [field:字段/] 取值,循环外部读取当前实体用 {djm:field.字段/}。
{djm:arclist/}所有标签都在 djm: 命名空间下,未知标签和非法属性会在保存或启用主题时被拒绝。
[field:title/]只读取最近一层循环的当前行;页面实体用 {djm:field.title/}。
raw="1"普通文本始终转义,只有声明为富文本的字段才允许 raw 输出。
语法 9
模板语法的骨架:条件、循环、变量与包含。
date日期格式化自闭合 · 语法格式化时间戳或当前循环字段中的时间值;format 使用 PHP 风格占位符。
{djm:date/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
timestamp | string | 可选 | — | Unix 时间戳;与 field 二选一。 |
field | string | 可选 | — | 当前上下文中的字段名。 |
format | string | 可选 | — | 时间格式,支持 Y、y、m、n、d、j、H、h、i、s 和 U;默认 Y-m-d H:i:s。 |
{djm:date field="published_at" format="Y-m-d"/}foreach列表遍历块级 · 语法遍历一个列表值(例如栏目图集 category.images)。对象项会把自身字段并入当前上下文,外层循环字段仍然可读。
{djm:foreach from="from"}...{/djm:foreach}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
from | string | 必填 | — | 必填。要遍历的列表值路径,例如 category.images。 |
as | string | 可选 | item | 循环变量名,默认 item。 默认值:item。 |
{djm:foreach from="category.images" as="img"}
<img src="[field:src/]" alt="[field:title/]">
{/djm:foreach}循环内可用字段(3)
index循环序号is_first是否第一条is_last是否最后一条
if条件判断块级 · 语法按模板表达式执行条件分支,可配合 {djm:else/}。
{djm:if condition="condition"}...{/djm:if}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
condition | string | 必填 | — | 必填。条件表达式;支持 ==、!=、>、<、>=、<= 比较,and/or/not 逻辑运算与括号,值可用引号包裹(允许空格)。语法错误会在保存模板时被拒绝。 |
{djm:if condition="field:title != ''"}
[field:title/]
{djm:else/}
暂无标题
{/djm:if}img图片输出自闭合 · 语法安全输出图片 URL 或完整 img 元素;field 可读取详情内容字段或 ext.扩展图片字段。
{djm:img/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
src | string | 可选 | — | 图片 URL;与 field 二选一。 |
field | string | 可选 | — | 当前上下文中的字段名。 |
width | integer | 可选 | 0 | 图片宽度,0 表示不输出。 默认值:0。 范围:0-10000。 |
height | integer | 可选 | 0 | 图片高度,0 表示不输出。 默认值:0。 范围:0-10000。 |
default | string | 可选 | — | 源值为空时的替代值。 |
lazy | boolean | 可选 | 1 | 设为 1 输出原生懒加载属性。 默认值:1。 |
alt | string | 可选 | — | 图片替代文字。 |
output | string | 可选 | — | 输出模式;img 输出完整 img 元素(html 为等价别名),留空只输出 URL。 |
{djm:img field="ext.gallery_image_1" default="/assets/placeholder.png" lazy="1" alt="产品图" output="img"/}include包含文件自闭合 · 语法包含当前主题内的模板片段,路径相对主题根目录且禁止越界。
{djm:include file="file"/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
file | string | 必填 | — | 必填。主题根目录内的相对模板路径。 |
{djm:include file="inc/footer.html"/}loop数值循环块级 · 语法生成整数序列循环,循环变量通过 [field:变量名/] 读取。
{djm:loop}...{/djm:loop}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
var | string | 可选 | — | 循环变量名,默认 i;循环内始终可以用 [field:i/] 读取当前值。 |
from | integer | 可选 | 1 | 循环起始整数。 默认值:1。 范围:-10000-10000。 |
to | integer | 可选 | 0 | 循环结束整数。 默认值:0。 范围:-10000-10000。 |
step | integer | 可选 | 1 | 循环步长,不能为 0。 默认值:1。 范围:-10000-10000。 |
{djm:loop var="i" from="1" to="5" step="1"}
[field:i/]
{/djm:loop}pagelist分页导航双形态 · 语法输出 list 或 search 产生的分页导航;块形式可使用分页字段自定义结构。
{djm:pagelist/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
pagesize | integer | 可选 | 10 | 显示的页码数量。 默认值:10。 范围:1-100。 |
prevtext | string | 可选 | — | 上一页文字。 |
nexttext | string | 可选 | — | 下一页文字。 |
firsttext | string | 可选 | — | 首页文字。 |
lasttext | string | 可选 | — | 末页文字。 |
{djm:pagelist pagesize="7" prevtext="上一页" nexttext="下一页"/}循环内可用字段(9)
current是否为当前页index循环序号is_first是否为第一页is_last是否为最后一页next_url下一页 URL;最后一页为空page页码prev_url上一页 URL;第一页为空total_pages总页数url该页 URL
str字符串处理自闭合 · 语法对字符串执行受控处理;op 支持 sub/cut 截断、strip 去 HTML、nl2br 换行转 br、upper、lower、trim、urlencode。
{djm:str value="value" op="op"/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
value | string | 必填 | — | 必填。待处理字符串,也可以引用上下文字段。 |
op | string | 必填 | — | 必填。字符串操作:sub/cut 截断、strip 去 HTML、nl2br 换行转 br、upper、lower、trim、urlencode。 |
len | integer | 可选 | 0 | 最大字符数,0 表示不截断;按字符(非字节)截断。 默认值:0。 范围:0-10000。 |
suffix | string | 可选 | — | 截断后追加的文字。 |
{djm:str value="模板标题" op="cut" len="4" suffix="..."/}var模板变量字段 · 语法读取页面级变量;命名空间通过点号访问,例如搜索页用 {djm:var.search.keyword/} 保留搜索词,栏目单页用 {djm:var.page_content/} 读取单页正文。
{djm:var.search.keyword/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
raw | boolean | 可选 | 0 | 仅对已经是可信 HTML 的值生效(例如声明为 rich_text 的字段);普通文本始终转义,不会因 raw 而放行。 默认值:0。 |
内容 13
内容列表、详情字段、分页、上下篇与搜索。
arclist内容列表块级 · 内容按栏目、标签、模型、关键词或标志筛选公开内容,适合首页和聚合页。
{djm:arclist}...{/djm:arclist}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
typeid | string | 可选 | — | 栏目 ID,或 current 表示当前栏目(在 nav/channellist 循环里取当前循环的栏目);暂不支持一次写多个 ID。 |
tag | string | 可选 | — | 标签别名,用于精确筛选内容。 |
row | integer | 可选 | 10 | 最多输出条数。 默认值:10。 范围:1-100。 |
orderby | enum | 可选 | published_at | 内容排序仅支持 published_at、pubdate、views、sort 和 id;不支持随机或点赞排序。 默认值:published_at。 可选值:published_at、views、sort、id。 |
orderdir | string | 可选 | — | 排序方向:desc 倒序,asc 正序。 |
flag | string | 可选 | — | 内容标志:top、recommend、hot、image;多个值用英文逗号分隔并取交集。 |
keyword | string | 可选 | — | 内容标题或摘要包含该关键词。 |
model | string | 可选 | — | 模型编码。 |
startday | integer | 可选 | 0 | 仅查询最近多少天发布的内容,0 表示不限制。 默认值:0。 范围:0-36500。 |
titlelen | integer | 可选 | 0 | 标题最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
summarylen | integer | 可选 | 0 | 摘要最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
paginate | boolean | 可选 | 0 | 设为 1 创建分页上下文。 默认值:0。 |
{djm:arclist typeid="1" row="10" orderby="published_at" orderdir="desc"}
<a href="[field:url/]">[field:title/]</a>
{/djm:arclist}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
commentform评论表单双形态 · 内容输出带安全令牌的评论表单;自闭合形式生成完整表单,块形式可自定义表单结构。
{djm:commentform/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
contentid | string | 可选 | — | 内容 ID;详情页可省略并使用当前内容。 |
<h3>发表评论</h3>
{djm:commentform/}循环内可用字段(5)
action评论 API 地址captcha验证码控件 HTML;站点未开启时为空content_id内容 IDform_token一次性表单令牌started_at表单生成时间
comments评论列表块级 · 内容输出指定内容的已审核根评论,详情页可省略 contentid;块内可嵌套 replies 展示一级回复。
{djm:comments}...{/djm:comments}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
row | integer | 可选 | 20 | 最多输出条数。 默认值:20。 范围:1-100。 |
contentid | string | 可选 | — | 内容 ID;详情或内容循环中可省略。 |
orderby | string | 可选 | — | 评论排序:asc(默认,正序)或 desc(倒序)。 |
status | string | 可选 | — | 评论状态;公开模板只允许 approved。 |
{djm:comments row="20" orderby="asc"}
<article class="comment">
<header><strong>[field:nickname/]</strong><time>{djm:date field="created_at" format="Y-m-d H:i"/}</time></header>
<p>[field:body/]</p>
{djm:replies row="100"}
<div class="comment-reply"><strong>[field:nickname/]</strong><p>[field:body/]</p></div>
{/djm:replies}
</article>
{/djm:comments}循环内可用字段(9)
body已转义正文content_id内容 IDcreated_at提交时间id评论 IDindex循环序号nickname昵称parent_id父评论 IDreplies一级回复列表,交给 {djm:replies} 遍历reply_count回复数量
downloads内容下载块级 · 内容遍历当前内容的下载资源。
{djm:downloads}...{/djm:downloads}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
max | integer | 可选 | 100 | 最多输出的资源数量。 默认值:100。 范围:1-500。 |
{djm:downloads max="20"}
<a href="[field:url/]" download>[field:name/] [field:version/]</a>
{/djm:downloads}循环内可用字段(13)
attachment_id附件 IDdownload_count下载次数extraction_code提取码file_size字节数file_size_text格式化文件大小id资源 IDindex循环序号name资源名称platform适用平台sha256文件 SHA-256sort_order后台排序值url下载 URLversion版本
field内容字段字段 · 内容读取当前内容字段;详情页使用 djm:field,列表循环内使用 [field:字段/],阅读数可用 views。栏目单页模板里还能读取该栏目在后台配置的自定义字段,写法相同(例如 {djm:field.intro_title/},富文本按已清洗 HTML 输出、图片补 /storage/ 前缀)。
{djm:field.title/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
default | string | 可选 | — | 源值为空时的替代值。 |
len | integer | 可选 | 0 | 最大字符数,0 表示不截断;按字符(非字节)截断。 默认值:0。 范围:0-10000。 |
raw | boolean | 可选 | 0 | 仅对已经是可信 HTML 的值生效(例如声明为 rich_text 的字段);普通文本始终转义,不会因 raw 而放行。 默认值:0。 |
{djm:field.title len="60" default="暂无标题"/}
{djm:field.views/}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
hotlist热门内容块级 · 内容输出热门内容兼容列表;默认按发布时间排序,传 orderby="views" 才按真实阅读数排序,可用 startday 限制最近内容范围。
{djm:hotlist}...{/djm:hotlist}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
typeid | string | 可选 | — | 栏目 ID,或 current 表示当前栏目(在 nav/channellist 循环里取当前循环的栏目);暂不支持一次写多个 ID。 |
row | integer | 可选 | 10 | 最多输出条数。 默认值:10。 范围:1-100。 |
orderby | enum | 可选 | published_at | 内容排序仅支持 published_at、pubdate、views、sort 和 id;不支持随机或点赞排序。 默认值:published_at。 可选值:published_at、views、sort、id。 |
startday | integer | 可选 | 0 | 仅查询最近多少天发布的内容,0 表示不限制。 默认值:0。 范围:0-36500。 |
titlelen | integer | 可选 | 0 | 标题最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
{djm:hotlist row="10" orderby="views" startday="30"}
<a href="[field:url/]">[field:title/]([field:views/] 次阅读)</a>
{/djm:hotlist}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
images内容图集块级 · 内容遍历当前内容的原生图集;也可用 field 读取任意模型已发布的 image 扩展字段或兼容图片数组。
{djm:images}...{/djm:images}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
field | string | 可选 | — | 当前上下文中的字段名。 |
max | integer | 可选 | 100 | 最多输出的资源数量。 默认值:100。 范围:1-500。 |
{djm:images field="gallery_image_1" max="20"}
<img src="[field:src/]" alt="[field:title/]">
{/djm:images}循环内可用字段(7)
attachment_id附件 IDdescription图片说明index循环序号sort_order后台排序值src图片 URLtitle图片标题或说明url图片 URL(兼容字段)
list当前栏目内容块级 · 内容输出当前栏目列表页的内容,paginate=1 时与 pagelist 共用分页上下文。
{djm:list}...{/djm:list}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
typeid | string | 可选 | — | 栏目 ID,或 current 表示当前栏目(在 nav/channellist 循环里取当前循环的栏目);暂不支持一次写多个 ID。 |
row | integer | 可选 | 15 | 最多输出条数。 默认值:15。 范围:1-100。 |
orderby | enum | 可选 | published_at | 内容排序仅支持 published_at、pubdate、views、sort 和 id;不支持随机或点赞排序。 默认值:published_at。 可选值:published_at、views、sort、id。 |
orderdir | string | 可选 | — | 排序方向:desc 倒序,asc 正序。 |
flag | string | 可选 | — | 内容标志:top、recommend、hot、image;多个值用英文逗号分隔并取交集。 |
keyword | string | 可选 | — | 内容标题或摘要包含该关键词。 |
titlelen | integer | 可选 | 0 | 标题最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
paginate | boolean | 可选 | 0 | 设为 1 创建分页上下文。 默认值:0。 |
{djm:list row="15" paginate="1"}
<a href="[field:url/]">[field:title/]</a>
{/djm:list}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
prenext上一篇下一篇自闭合 · 内容输出当前内容的上一篇或下一篇;type=pre 为上一篇,type=next 为下一篇。
{djm:prenext/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
type | enum | 可选 | pre | pre 输出上一篇,next 输出下一篇;省略时兼容为 pre。 默认值:pre。 可选值:pre、next。 |
prenone | string | 可选 | — | 没有上一篇时的替代文字。 |
nextnone | string | 可选 | — | 没有下一篇时的替代文字。 |
tpl | string | 可选 | — | 自定义链接模板,可用 [field:title/]、[field:url/],也兼容 {title}、[title]、{url}、[url]。 |
{djm:prenext type="pre" prenone="没有上一篇"/}
{djm:prenext type="next" nextnone="没有下一篇"/}related相关内容块级 · 内容根据当前内容的栏目和标签输出相关内容,默认排除当前内容。
{djm:related}...{/djm:related}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
row | integer | 可选 | 6 | 最多输出条数。 默认值:6。 范围:1-100。 |
orderby | enum | 可选 | published_at | 内容排序仅支持 published_at、pubdate、views、sort 和 id;不支持随机或点赞排序。 默认值:published_at。 可选值:published_at、views、sort、id。 |
exclude | boolean | 可选 | 1 | 设为 1 排除当前内容。 默认值:1。 |
titlelen | integer | 可选 | 0 | 标题最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
{djm:related row="6" exclude="1"}
<a href="[field:url/]">[field:title/]</a>
{/djm:related}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
replies评论回复块级 · 内容在 comments 循环内输出当前根评论的一级回复。
{djm:replies}...{/djm:replies}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
row | integer | 可选 | 100 | 最多输出条数。 默认值:100。 范围:1-100。 |
{djm:replies row="100"}
<div class="comment-reply"><strong>[field:nickname/]</strong><p>[field:body/]</p></div>
{/djm:replies}循环内可用字段(8)
body已转义正文content_id内容 IDcreated_at提交时间id回复 IDindex循环序号nickname昵称parent_id根评论 IDreply_count该回复下的回复数量
search搜索结果块级 · 内容输出当前搜索词的匹配内容;highlight=1 时标题与摘要命中词会被标记,none 在没有结果时输出替代文案。
{djm:search}...{/djm:search}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
row | integer | 可选 | 15 | 最多输出条数。 默认值:15。 范围:1-100。 |
titlelen | integer | 可选 | 0 | 标题最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
summarylen | integer | 可选 | 0 | 摘要最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
highlight | boolean | 可选 | 1 | 设为 1 在标题与摘要中标记搜索词;0 关闭。 默认值:1。 |
none | string | 可选 | — | 没有搜索结果时输出的文字。 |
paginate | boolean | 可选 | 0 | 设为 1 创建分页上下文。 默认值:0。 |
{djm:search row="15" highlight="1" paginate="1" none="没有搜索结果"}
<a href="[field:url/]">[field:title/]</a>
{/djm:search}循环内可用字段(22)
category_id栏目 IDcategory_name栏目名称category_path栏目路径cover_image封面图 URLext.字段编码已发布的模型扩展字段id内容 IDindex当前循环序号(从 1 开始)is_featured是否推荐is_hot是否热门is_recommend是否推荐(兼容字段,包含 is_featured)is_top是否置顶model_code模型编码model_id模型 IDpublished_at发布时间slugURL 别名sort_order后台排序值summary摘要thumb_image栏目缩略图 URL,未配置时为空,可回退 cover_imagetitle标题(搜索页可能包含 mark 高亮)title_plain纯文本标题,适合输出到 img alt 等 HTML 属性url内容访问 URLviews阅读数;同一访客 30 分钟内重复打开详情页只计一次
taglist内容标签块级 · 内容输出内容标签;在内容循环内默认读取当前内容的标签。
{djm:taglist}...{/djm:taglist}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
row | integer | 可选 | 20 | 最多输出条数。 默认值:20。 范围:1-100。 |
orderby | string | 可选 | — | 标签排序:sort(默认按后台排序)、name 或 id。 |
contentid | string | 可选 | — | 内容 ID;详情或内容循环中可省略。 |
namelen | integer | 可选 | 0 | 标签名称最大字符数,0 表示不截断。 默认值:0。 范围:0-10000。 |
{djm:taglist row="20" orderby="name"}
<a class="tag" href="[field:url/]">#[field:name/]</a>
{/djm:taglist}循环内可用字段(7)
content_count关联内容数description标签说明id标签 IDindex循环序号name标签名称slug标签别名url标签页 URL
栏目 4
栏目树、导航与栏目单页字段。
blocks栏目关联内容块级 · 栏目遍历当前栏目在后台挑选并排序的关联内容(业务板块、文化卡片、品牌 Logo 等)。循环体内可读标题、摘要、链接、封面与缩略图;栏目未配置关联内容时输出空串。关联内容挂在栏目上,因此在栏目页面(列表模板与栏目单页模板)有数据,内容详情页输出空串。
{djm:blocks}...{/djm:blocks}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
max | integer | 可选 | 100 | 最多输出的资源数量。 默认值:100。 范围:1-200。 |
{djm:blocks max="20"}
<li><img src="[field:thumb_image/]" alt="[field:title/]"><a href="[field:url/]">[field:title/]</a></li>
{/djm:blocks}循环内可用字段(10)
category_name所属栏目cover_image封面图地址id内容 IDindex循环序号published_at发布时间slug别名summary摘要thumb_image栏目缩略图地址(未配置时回退封面)title标题url详情地址
channellist栏目列表块级 · 栏目输出指定栏目及其子栏目,不要求栏目开启导航显示。
{djm:channellist}...{/djm:channellist}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
typeid | string | 可选 | — | 栏目 ID,或 current 表示当前栏目(在 nav/channellist 循环里取当前循环的栏目);暂不支持一次写多个 ID。 |
row | integer | 可选 | 100 | 最多输出条数。 默认值:100。 范围:1-100。 |
depth | integer | 可选 | 1 | 栏目递归层级。 默认值:1。 范围:1-20。 |
{djm:channellist typeid="current" depth="2"}
<a href="[field:url/]">[field:name/]</a>
{/djm:channellist}循环内可用字段(16)
access_mode访问控制模式active是否为当前栏目或其祖先栏目category_id栏目 ID(兼容字段)cover_image栏目封面 URLdescription栏目说明external是否为外部链接full_path站内完整栏目路径id栏目 IDindex当前循环序号name栏目名称parent_id父栏目 ID,顶级栏目为 0rel链接 rel 属性(nofollow / noopener 组合)slug栏目别名target链接打开方式thumb_image栏目缩略图 URL,未配置时为空url栏目或外链访问地址
crumbs面包屑双形态 · 栏目输出当前页面从首页到当前栏目的面包屑;块形式可完全自定义结构。
{djm:crumbs/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
separator | string | 可选 | — | 自闭合面包屑的分隔符。 |
hometext | string | 可选 | — | 首页链接文字。 |
homeurl | string | 可选 | — | 首页链接地址。 |
{djm:crumbs separator=" > " hometext="首页" homeurl="/"/}循环内可用字段(16)
access_mode访问控制模式active是否为当前栏目或其祖先栏目category_id栏目 ID(兼容字段)cover_image栏目封面 URLdescription栏目说明external是否为外部链接full_path站内完整栏目路径id栏目 IDindex当前循环序号name栏目名称parent_id父栏目 ID,顶级栏目为 0rel链接 rel 属性(nofollow / noopener 组合)slug栏目别名target链接打开方式thumb_image栏目缩略图 URL,未配置时为空url栏目或外链访问地址
nav栏目导航块级 · 栏目输出启用且设为导航显示的栏目;depth 大于 1 时包含子栏目。mode="flat"(默认)按循环体逐条渲染;mode="tree" 输出内置多级导航结构并忽略循环体。
{djm:nav}...{/djm:nav}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
typeid | string | 可选 | — | 栏目 ID,或 current 表示当前栏目(在 nav/channellist 循环里取当前循环的栏目);暂不支持一次写多个 ID。 |
row | integer | 可选 | 100 | 最多输出条数。 默认值:100。 范围:1-100。 |
depth | integer | 可选 | 1 | 栏目递归层级。 默认值:1。 范围:1-20。 |
orderby | string | 可选 | — | 栏目排序:sort_order(默认)、name 或 id。 |
mode | enum | 可选 | flat | flat 为扁平循环,tree 为父子嵌套导航结构。 默认值:flat。 可选值:flat、tree。 |
{djm:nav depth="2"}
<a href="[field:url/]">[field:name/]</a>
{/djm:nav}循环内可用字段(16)
access_mode访问控制模式active是否为当前栏目或其祖先栏目category_id栏目 ID(兼容字段)cover_image栏目封面 URLdescription栏目说明external是否为外部链接full_path站内完整栏目路径id栏目 IDindex当前循环序号name栏目名称parent_id父栏目 ID,顶级栏目为 0rel链接 rel 属性(nofollow / noopener 组合)slug栏目别名target链接打开方式thumb_image栏目缩略图 URL,未配置时为空url栏目或外链访问地址
系统 4
站点配置、日期、字符串、图片与验证码。
captcha图形验证码双形态 · 系统输出图形验证码的图片、输入框与一次性令牌;后台开启“人机验证”后才输出,评论表单已自动内嵌,自建表单才需要手写。块形式可用 captcha_image、captcha_token 自定义结构。
{djm:captcha/}<form method="post" action="/">
{djm:captcha/}
<button type="submit">提交</button>
</form>循环内可用字段(2)
captcha_image验证码图片地址captcha_token一次性验证码令牌
config系统配置自闭合 · 系统读取允许公开的 site.*、seo.*、interaction.* 或已启用的 custom.* 系统配置。
{djm:config name="name"/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
name | string | 必填 | — | 必填。配置键或资源名称。 |
{djm:config name="custom.company_slogan"/}performance页面性能自闭合 · 系统输出当前页面模板渲染耗时或 Provider 数据读取指标;仅开发环境(debug 开启)输出,生产环境为空字符串。
{djm:performance/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
metric | enum | 可选 | page_ms | 指标:page_ms 渲染毫秒、db_reads 数据读取批次、db_ms 数据读取毫秒。 默认值:page_ms。 可选值:page_ms、db_reads、db_ms。 |
precision | integer | 可选 | 2 | 小数位数。 默认值:2。 范围:0-3。 |
{djm:performance metric="page_ms" precision="2"/}user当前会员字段 · 系统读取当前登录会员的公开字段,不提供邮箱等隐私字段。
{djm:user.islogin/}{djm:if condition="user.islogin == 1"}
<a href="/member/account">{djm:user.nickname/}</a>
{djm:else/}
<a href="/member/login">登录</a>
{/djm:if}循环内可用字段(5)
avatar头像 URLid会员 IDislogin是否已登录nickname昵称username登录名
扩展 2
广告位与插件挂载点。
ad广告位双形态 · 扩展输出指定广告位;自闭合形式生成安全链接,块形式可自定义结构。
{djm:ad slot="slot"/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slot | string | 必填 | — | 必填。广告位编码。 |
random | boolean | 可选 | 0 | 设为 1 按权重随机选择广告。 默认值:0。 |
{djm:ad slot="home_banner"}
<a href="[field:url/]" target="[field:target/]"><img src="[field:image/]" alt="[field:title/]"></a>
{/djm:ad}循环内可用字段(13)
description说明id广告 IDimage图片 URLindex循环序号nofollow是否禁止跟踪slot广告位编码slot_name广告位名称sort_order排序值target打开方式title标题type广告类型url跳转 URLweight随机权重
links友情链接块级 · 扩展按分组输出启用的友情链接。
{djm:links}...{/djm:links}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 友情链接分组编码。 |
row | integer | 可选 | 100 | 最多输出条数。 默认值:100。 范围:1-100。 |
{djm:links group="partner" row="20"}
<a href="[field:url/]" target="[field:target/]">[field:name/]</a>
{/djm:links}循环内可用字段(11)
description链接说明group分组编码group_name分组名称id链接 IDindex循环序号logoLogo URLname名称nofollow是否禁止跟踪sort_order后台排序值target打开方式url链接 URL
插件 17
banner、SEO 与统计插件提供的标签。
banner.button_textBanner 按钮文案自闭合 · 插件输出广告的按钮文案;为空说明该广告不放按钮,主题应跳过而不是输出空按钮。
{djm:banner.button_text/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条按钮文案。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.button_text group="home"/}banner.dataBanner 记录 JSON自闭合 · 插件输出一条广告的完整记录 JSON(含视频、结构化文案与投放时间字段,未设置的列为 null),适合交给前端脚本自行渲染;JSON 同样按文本输出,不会被当作 HTML 执行。
{djm:banner.data/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条记录。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.data group="home" code="hero"/}banner.groupBanner 轮播参数 JSON自闭合 · 插件输出分组的轮播参数 JSON(autoplay、interval_ms、effect、pause_on_hover),未设置的列为 null。插件只提供数据、不注入脚本:是否自动播放、切换效果与悬停暂停都由主题实现。
{djm:banner.group/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条参数记录。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
{djm:banner.group group="home"/}banner.headingBanner 大标题自闭合 · 插件输出广告的大标题文案,主题可叠加在图片上;与把文案直接画进图片相比,这样能被搜索引擎和读屏软件读取。
{djm:banner.heading/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条大标题。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.heading group="home"/}banner.imageBanner 图片自闭合 · 插件输出广告分组内一条广告的图片地址(附件对象键或站内路径),通常与 banner.url、banner.title 一起生成广告位。视频广告的 image 是它的封面图,视频地址另用 banner.video 输出。插件标签的输出按文本转义,不执行存储的 HTML。
{djm:banner.image/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条图片。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.image group="home"/}banner.image_altBanner 图片替代文本自闭合 · 插件输出图片替代文本;未单独填写时回退到广告标题。
{djm:banner.image_alt/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条替代文本。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.image_alt group="home"/}banner.image_focusBanner 图片焦点位置自闭合 · 插件输出图片焦点位置(例如 center、center 30%),供主题用作 object-position,避免不同裁切比例下主体被切掉。
{djm:banner.image_focus/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条焦点位置。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.image_focus group="home"/}banner.image_mobileBanner 移动端图片自闭合 · 插件输出移动端图片地址;未单独填写时回退到该条广告的图片,主题可据此在小屏加载更小的图。
{djm:banner.image_mobile/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条移动端图片。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.image_mobile group="home"/}banner.itemsBanner 整组 JSON自闭合 · 插件输出该分组当前可投放的全部广告(启用状态、且当前时间在投放窗口内),按排序值升序,含图片、视频、按钮文案与投放时间等全部字段,未设置的列为 null;没有可投放广告时输出 []。适合交给前端脚本渲染轮播,由主题决定是否自动播放、何时暂停。条目数超过读取上限时只输出已读到的部分并写插件日志。
{djm:banner.items/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条广告。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
{djm:banner.items group="home"/}banner.subheadingBanner 副标题自闭合 · 插件输出广告的副标题文案,通常与 banner.heading 搭配使用。
{djm:banner.subheading/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条副标题。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.subheading group="home"/}banner.titleBanner 标题自闭合 · 插件输出广告标题,适合放在 img 的 alt 或链接文字上。
{djm:banner.title/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条标题。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.title group="home"/}banner.urlBanner 跳转地址自闭合 · 插件输出广告的跳转地址;与 banner.image 使用同一组 group/code/item 才能取到同一条广告。
{djm:banner.url/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条跳转地址。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.url group="home"/}banner.videoBanner 视频地址自闭合 · 插件输出广告的视频地址;为空说明这是纯图片广告,主题应回退到 banner.image 的封面图。
{djm:banner.video/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条视频地址。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.video group="home"/}banner.video_mobileBanner 移动端视频自闭合 · 插件输出移动端视频地址;未单独填写时回退到该条广告的桌面视频。插件不做视口判断,由主题按宽度选择,避免小屏下载整段桌面视频。
{djm:banner.video_mobile/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条移动端视频。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.video_mobile group="home"/}banner.video_posterBanner 视频封面自闭合 · 插件输出视频封面地址;未单独填写时回退到该条广告的图片,因此主题可以始终输出一张真实 img 作封面,而不必依赖 video 的 poster 属性。
{djm:banner.video_poster/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 广告分组编码,取该分组当前可投放的一条视频封面。 |
code | string | 可选 | — | 条目标识;先按条目 code 匹配,查不到时再当作分组编码(兼容旧写法)。 |
item | string | 可选 | — | 条目标识,语义明确;同时给出 group 时限定在该分组内查找。 |
{djm:banner.video_poster group="home"/}seo_toolkit.headSEO 头部元信息自闭合 · 插件在 head 内输出 canonical、robots、Open Graph、Twitter 与 JSON-LD。插件只返回数据,meta/link/title/script 由 CMS 核心按白名单与 URL 校验生成,因此不会输出未经验证的标记。
{djm:seo_toolkit.head/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
content | string | 可选 | — | 覆盖正文来源(可选)。 |
url | string | 可选 | — | 覆盖 canonical 地址(可选,**必须是绝对 http(s) 地址**;写相对路径会让页面报错,推荐不传)。 |
type | string | 可选 | — | Open Graph 类型,例如 website、article。 |
robots | string | 可选 | — | robots 指令,例如 index,follow。 |
category | string | 可选 | — | 栏目页覆盖:指定输出哪个栏目的信息(可选)。 |
{djm:seo_toolkit.head type="website" optional="1"/}site_analytics.tracker站点统计脚本自闭合 · 插件为当前页面加载第一方统计脚本,建议放在公共页脚并加 optional=1。插件只提供数据,script 标签由内核按受控资源通道生成(插件直接返回 HTML 会被按文本转义)。只记录路径、标题、匿名访客标识、来源主机与设备类型,不记录 IP、完整来源 URL、查询参数与正文,访客可用浏览器 Do Not Track 退出。
{djm:site_analytics.tracker/}{djm:site_analytics.tracker optional="1"/}专题 10
专题聚合页的列表、节点与字段。
topics.blocks专题区块块级 · 专题在 topics.detail 内遍历当前专题的可见区块;隐藏区块不加载依赖,可选区块故障只局部降级。
{djm:topics.blocks}...{/djm:topics.blocks}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
type | string | 可选 | — | 只输出指定类型的区块。 |
{djm:topics.blocks}
<section id="[field:anchor/]">
<h2>[field:title/]</h2>
</section>
{/djm:topics.blocks}循环内可用字段(14)
alt图片替代文本anchor区块锚点(专题内唯一)block_id区块标识html已清洗的富文本 HTMLimage_url区块图片 URLindex循环序号is_first是否第一个区块is_last是否最后一个区块layout布局方向,例如 leftmobile_image_url移动端图片 URL(未配置时回退 image_url)subtitle区块副标题text区块纯文本title区块标题type区块类型
topics.buttons区块按钮块级 · 专题遍历当前区块解析后的按钮;跳转目标已按受控类型(内容、专题、锚点、路由、外链)解析为地址。
{djm:topics.buttons}...{/djm:topics.buttons}{djm:topics.buttons}
<a class="topic-button" href="[field:url/]">[field:label/]</a>
{/djm:topics.buttons}循环内可用字段(6)
external是否为外部链接index循环序号is_first是否第一个按钮is_last是否最后一个按钮label按钮文字url解析后的地址
topics.detail专题详情块级 · 专题按 slug 或 id 输出单个已发布专题,块内可嵌套 topics.blocks;省略参数时使用当前专题作用域。
{djm:topics.detail}...{/djm:topics.detail}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slug | string | 可选 | — | 专题标识。 |
id | integer | 可选 | 0 | 专题 ID;与 slug 二选一。 默认值:0。 范围:0-9007199254740991。 |
{djm:topics.detail slug="summer-launch"}
<h1>[field:title/]</h1>
<p>[field:summary/]</p>
{/djm:topics.detail}循环内可用字段(10)
cover_url专题封面图 URLid专题 IDpublic_path公开访问路径seo_descriptionSEO 描述seo_titleSEO 标题slug专题标识summary专题简介template_id专题模板标识template_version专题模板版本title专题标题
topics.documents专题文档块级 · 专题输出节点内的公开文档;limit/offset 只截取当前节点的有界结果,不额外取稿,下线内容与受限栏目内容会被剔除。
{djm:topics.documents}...{/djm:topics.documents}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slug | string | 可选 | — | 专题标识。 |
id | integer | 可选 | 0 | 专题 ID。 默认值:0。 范围:0-9007199254740991。 |
code | string | 可选 | — | 节点编码。 |
node | string | 可选 | — | 节点编码(与 code 等价)。 |
limit | integer | 可选 | 100 | 最多输出条数。 默认值:100。 范围:0-100。 |
offset | integer | 可选 | 0 | 跳过条数。 默认值:0。 范围:0-1000000。 |
{djm:topics.documents slug="industry" node="news" limit="10" offset="0"}
<a href="[field:public_path/]">[field:title/]</a>
{/djm:topics.documents}循环内可用字段(13)
category_id栏目 IDcategory_name所属栏目cover_image封面图 URLid内容 IDindex循环序号is_first是否第一条is_last是否最后一条model_code内容模型编码model_id模型 IDpublic_path公开访问路径slug内容别名summary摘要title标题
topics.field专题字段自闭合 · 专题输出当前专题作用域里的一个字段,字段名通过 name 指定。
{djm:topics.field name="name"/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
name | string | 必填 | — | 必填。字段名,例如 title、summary、public_path。 |
<h1>{djm:topics.field name="title"/}</h1>topics.items区块条目块级 · 专题遍历当前区块解析后的条目;卖点类条目是 title/text,FAQ 类条目是 question/answer。
{djm:topics.items}...{/djm:topics.items}{djm:topics.items}
<li><strong>[field:title/]</strong><p>[field:text/]</p></li>
{/djm:topics.items}循环内可用字段(7)
answer答案(FAQ)index循环序号is_first是否第一条is_last是否最后一条question问题(FAQ)text条目正文(卖点)title条目标题(卖点)
topics.list专题列表块级 · 专题输出已发布、未删除的专题;可用 group、featured 筛选,content_id 按内容反查显式引用(不包含自动规则命中)。
{djm:topics.list}...{/djm:topics.list}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
group | string | 可选 | — | 专题分组编码。 |
featured | boolean | 可选 | 0 | true 只输出推荐专题。 默认值:0。 |
content_id | integer | 可选 | 0 | 按已发布版本显式引用的内容 ID 反查专题。 默认值:0。 范围:0-9007199254740991。 |
limit | integer | 可选 | 10 | 最多输出条数。 默认值:10。 范围:0-100。 |
offset | integer | 可选 | 0 | 跳过条数。 默认值:0。 范围:0-1000000。 |
{djm:topics.list group="campaign" featured="true" limit="6"}
<article>
<h2><a href="[field:public_path/]">[field:title/]</a></h2>
<p>[field:summary/]</p>
</article>
{/djm:topics.list}循环内可用字段(13)
cover_image专题封面图 URLfeatured是否推荐group_code专题分组编码id专题 IDindex循环序号is_first是否第一条is_last是否最后一条public_path公开访问路径published_at发布时间slug专题标识sort_order后台排序值summary专题简介(来自已发布版本)title专题标题(来自已发布版本)
topics.node单个专题节点块级 · 专题按 slug/id 与 code/node 输出单个节点,可在其内部使用 topics.documents。
{djm:topics.node}...{/djm:topics.node}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slug | string | 可选 | — | 专题标识。 |
id | integer | 可选 | 0 | 专题 ID。 默认值:0。 范围:0-9007199254740991。 |
code | string | 可选 | — | 节点编码。 |
node | string | 可选 | — | 节点编码(与 code 等价)。 |
{djm:topics.node slug="industry" code="news"}
<h2>[field:name/]</h2>
{djm:topics.documents}<a href="[field:public_path/]">[field:title/]</a>{/djm:topics.documents}
{/djm:topics.node}循环内可用字段(9)
anchor节点锚点code节点编码count节点文档数量description节点说明items节点文档列表,交给 topics.documents 遍历mode取稿模式name节点名称title节点标题truncated文档是否因上限被截断
topics.nodes专题节点块级 · 专题遍历专题内可见节点(隐藏节点不输出);可在节点内继续使用 topics.documents。
{djm:topics.nodes}...{/djm:topics.nodes}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slug | string | 可选 | — | 专题标识。 |
id | integer | 可选 | 0 | 专题 ID;与 slug 二选一。 默认值:0。 范围:0-9007199254740991。 |
code | string | 可选 | — | 节点编码。 |
node | string | 可选 | — | 节点编码(与 code 等价)。 |
{djm:topics.nodes}
<h3 id="[field:anchor/]">[field:name/]</h3>
{djm:topics.documents limit="10"}
<a href="[field:public_path/]">[field:title/]</a>
{/djm:topics.documents}
{/djm:topics.nodes}循环内可用字段(12)
anchor节点锚点code节点编码(专题内唯一)count节点文档数量description节点说明index循环序号is_first是否第一个节点is_last是否最后一个节点items节点文档列表,交给 topics.documents 遍历mode取稿模式:manual 手动、auto 规则name节点名称title节点标题truncated文档是否因上限被截断
topics.render专题区块片段自闭合 · 专题输出指定区块的完整片段并自动加载该版本的 CSS/JS,由 CMS 原生提供,不嵌套完整 HTML 文档。
{djm:topics.render/}| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
slug | string | 可选 | — | 专题标识。 |
id | integer | 可选 | 0 | 专题 ID;与 slug 二选一。 默认值:0。 范围:0-9007199254740991。 |
block | string | 可选 | — | 区块标识(block_id 或锚点);省略时输出全部可见内容。 |
{djm:topics.detail slug="summer-launch"}
{djm:topics.render block="hero-main"/}
{/djm:topics.detail}没有匹配的标签,换个关键词试试,或到演示后台的模板编辑器里查看。