标签手册
模板语法
模板语法
模板引擎内置语法,负责变量输出、条件、循环与片段引入。
引入公共模板 include
引入当前主题目录下的模板片段,用于头部、页脚、文章卡片等复用区块。
调用格式
{include file="common/header" /}
完整示例
<!doctype html>
<html>
<head>
{include file="common/header" /}
</head>
<body>
{include file="common/footer" /}
</body>
</html>
file 路径相对于当前主题目录,不带 .html 后缀;片段不存在时输出空字符串。
条件判断 if
根据当前模板变量做条件输出,可嵌套;变量来自控制器注入或标签循环变量。
调用格式
{if $article.is_recommend == 1}...{else}...{/if}
完整示例
{if $category.id}
<h1>{$category.name}</h1>
{else}
<h1>全部内容</h1>
{/if}
{if $item.is_recommend == 1}
<span class="badge">推荐</span>
{/if}
支持 ==、!=、>、<、>=、<=,也支持 {if $list} 判断数组是否为空。
循环自定义数组 volist
遍历标签返回的数组字段,例如导航子菜单、留言字段;content / channel / nav / tags 成对标签本身已经循环,不需要再套 volist。
调用格式
{pycms:volist name="$item.children" id="child"}...{/pycms:volist}
参数
| 参数 | 说明 | 默认 | 取值 / 备注 |
|---|---|---|---|
name | 数组变量 | 必填 | 如 $item.children、$message.fields |
id | 循环变量名 | item | 嵌套时需唯一,如 child、field |
完整示例
{pycms:nav type="head" id="nav"}
<a href="{$nav.href}">{$nav.title}</a>
{if $nav.children}
{pycms:volist name="$nav.children" id="child"}
<a href="{$child.href}">{$child.title}</a>
{/pycms:volist}
{/if}
{/pycms:nav}
同一个页面出现多个 volist 时,id 不要重复。
模板表达式 php
输出函数返回值或语言包文案,常用于多语言、Hook 与格式化;表达式由模板引擎直接执行。
调用格式
{:__('nav.search')}
完整示例
<a href="{pycms:url path="/search" /}">{:__('nav.search')}</a>
<span>{:date('Y')}</span>
模板内不要写复杂业务逻辑,复杂处理放到插件或控制器。
已是第一篇 内容标签 →