主题开发
模板语法与公共片段
模板语法
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 模板缓存。
- 不要在模板中直接连接数据库,复杂逻辑放到插件。