标签手册

模板语法

更新于 2026-11-13 阅读 2 # 模板语法 模板引擎内置语法,负责变量输出、条件、循环与片段引入。 ## 引入公共模板 `include` 引入当前主… Markdown

模板语法

模板引擎内置语法,负责变量输出、条件、循环与片段引入。

引入公共模板 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>
模板内不要写复杂业务逻辑,复杂处理放到插件或控制器。

已是第一篇 内容标签 →