标签手册

日期与工具

更新于 2026-11-13 阅读 3 # 日期与工具 日期、版本号、钩子、截取等工具标签。 ## 日期格式化 `date` 把时间字符串或时间戳格式化为指定格… Markdown

日期与工具

日期、版本号、钩子、截取等工具标签。

日期格式化 date

把时间字符串或时间戳格式化为指定格式。

调用格式

{pycms:date name="$item.publish_time" format="Y-m-d" /}

参数

参数说明默认取值 / 备注
name时间变量必填如 $item.publish_time
format格式Y-m-dPHP date 格式,如 Y年m月d日 H:i

完整示例

<time>{pycms:date name="$item.publish_time" format="Y年m月d日" /}</time>
时间为空时输出空字符串;无法解析时原样返回。

模型字段 field

输出当前文章或列表项的模型自定义字段;详情页默认读取当前文章,列表页需传 item 并开启 model_fields="1"。

调用格式

{pycms:field name="price" /}

参数

参数说明默认取值 / 备注
name字段标识必填如 price、code、detail
item列表项变量当前文章如 $item、$post
format输出格式texthtml / raw 输出富文本或图片 HTML
default默认值空字段为空时输出

完整示例

<div class="price">{pycms:field name="price" default="免费" /}</div>
<div class="detail">{pycms:field name="detail" format="html" /}</div>

{pycms:content catid="$category.id" num="6" model_fields="1"}
    <span>{pycms:field name="price" item="$item" default="免费" /}</span>
{/pycms:content}
model_field 是兼容别名;字段需在后台「模型管理」中创建并绑定到栏目模型。

CMS 版本号 app_version

输出当前 pycms 版本,适合页脚版权信息。

调用格式

{pycms:app_version /}

完整示例

<span>Powered by 盘云CMS v{pycms:app_version /}</span>
版本来自 config/app.php 的 app.version。

PHP 版本 php_version

输出当前 PHP 版本号,用于环境说明页或调试面板。

调用格式

{pycms:php_version /}

完整示例

<span>PHP {pycms:php_version /}</span>
生产环境建议不要在前台展示。

当前年份 year

输出四位年份,用于版权声明。

调用格式

{pycms:year /}

完整示例

<div class="copyright">© {pycms:year /} 盘云CMS</div>
随服务器时间自动变化。

插件钩子输出 hook

输出插件注册到指定钩子的 HTML,用于在模板中插入插件功能。

调用格式

{pycms:hook name="front.head" /}

参数

参数说明默认取值 / 备注
name钩子名称必填如 front.head、front.footer、front.body.end

完整示例

<head>
    {pycms:hook name="front.head" /}
</head>
<footer>
    {pycms:hook name="front.footer" /}
</footer>
钩子需由插件在启动时通过 Hook::add 注册;默认主题已预置 front.head、front.footer、front.body.end。

数组计数 count

输出数组元素数量,常用于统计标签返回的数组。

调用格式

{pycms:count name="$list" /}

参数

参数说明默认取值 / 备注
name数组变量必填如 $list、$item.children

完整示例

<span>共 {pycms:count name="$list" /} 条</span>
不是数组时输出 0。

文本截取 excerpt

去除 HTML 标签后截取指定长度,超出加省略号。

调用格式

{pycms:excerpt text="$article.content" len="90" /}

参数

参数说明默认取值 / 备注
text原始文本必填可传 $item.content
len长度90按字符数计算

完整示例

<meta name="description" content="{pycms:excerpt text="$article.content" len="120" /}">
输出已转义,可直接放入 meta 或摘要区。

换行转 br nl2br

将文本中的换行转换为 HTML 换行并转义。

调用格式

{pycms:nl2br name="$item.summary" /}

参数

参数说明默认取值 / 备注
name文本变量必填如 $item.summary

完整示例

<div class="summary">{pycms:nl2br name="$item.summary" /}</div>
富文本内容不要再次使用,避免重复转义。

CSRF 隐藏域 csrf

输出表单令牌隐藏域,插件前台表单需要。

调用格式

{pycms:csrf /}

完整示例

<form method="post" action="{pycms:url path="/guestbook" /}">
    {pycms:csrf /}
    <input name="content" required>
    <button>提交</button>
</form>
所有 POST 表单都必须带令牌,否则被 CSRF 中间件拦截。