主题开发

模板语法与公共片段

更新于 2026-11-13 阅读 3 # 模板语法 pycms 模板在 HTML 中直接书写标签,保存后由模板引擎编译为 PHP。 ## 变量输出 默认输出会… Markdown

模板语法

pycms 模板在 HTML 中直接书写标签,保存后由模板引擎编译为 PHP。

变量输出

<h1>{$article.title}</h1>
<time>{$article.publish_time_text}</time>

默认输出会做 HTML 转义;需要输出富文本时使用 |raw:

<div class="content">{$article.content|raw}</div>

条件判断

{if $article.is_recommend == 1}
    <span class="badge">推荐</span>
{else}
    <span class="badge muted">普通</span>
{/if}

循环

内容、栏目、导航、标签云等成对标签本身直接循环,默认变量是 $item,不需要再套 volist:

{pycms:content catid="$category.id" num="6"}
    <a href="{$item.href}">{$item.title}</a>
{/pycms:content}

只有循环标签返回的数组字段时才用 volist,例如导航子菜单:

{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}

引入片段

{include file="common/header" /}

调试建议

  • 标签不输出时,先检查栏目 ID、应用是否启用、数据是否存在。
  • 修改模板后若未生效,清理 cms 模板缓存。
  • 不要在模板中直接连接数据库,复杂逻辑放到插件。