标签手册
日期与工具
日期与工具
日期、版本号、钩子、截取等工具标签。
日期格式化 date
把时间字符串或时间戳格式化为指定格式。
调用格式
{pycms:date name="$item.publish_time" format="Y-m-d" /}
参数
| 参数 | 说明 | 默认 | 取值 / 备注 |
|---|---|---|---|
name | 时间变量 | 必填 | 如 $item.publish_time |
format | 格式 | Y-m-d | PHP 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 | 输出格式 | text | html / 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 中间件拦截。