前台通用变量 Frontend Variables

前台通用变量 Frontend Variables

下列变量由框架统一装配,前台主题模板可直接使用,无需自己 assign。

一、通用变量清单

变量 说明
{$lang.xxx} 语言项(详见「自定义语言项 Language Items」篇)
{$site.xxx} 站点配置(如 $site.root_url、$site.site_name、$site.site_theme)
{$theme_path} 当前主题的 URL 根路径
{$param.xxx} 站点参数
{$features.xxx} 模块开关(配合 {if $features.product} 做降级)
{$dou.user} / {$dou.auth} / {$dou.vip} / {$dou.work} / {$dou.distribution} 会员 / 登录态 / VIP / 工作人员 / 分销数据(未装模块时为空骨架)
{$token} / {$csrf_token} 表单安全令牌
{$cart_total} 购物车件数角标
{$lang_menu} 多语言切换菜单
{$about} / {$link_list} 关于信息 / 友情链接
{$code_head} 全站 head 自定义代码
{$js_lang_script_url} / {$js_routes_script_url} 语言包 / 路由脚本地址(在 code_footer.tpl 中加载)

二、典型用法

{* 站点名与语言项 *}
<title>{$site.site_name} - {$lang.home}</title>

{* 模块开关降级:未启用产品模块时不渲染该块 *}
{if $features.product}
    <a href="{url link='product'}">{$lang.product}</a>
{/if}

{* 登录态判断 *}
{if $dou.auth}
    <span>{$dou.user.username}</span>
{else}
    <a href="{url link='user.login'}">{$lang.login}</a>
{/if}

{* 表单令牌 *}
<input type="hidden" name="token" value="{$token}">

三、静态资源与 theme_path

模板里的静态资源写相对路径(css/style.css、images/logo.png)即可,前台预过滤器会把它们烘焙为绝对主题路径(见「预过滤器 Prefilter」篇)。若需手工拼接,可用 {$theme_path}。

四、引擎注意点

  • {if} 中不支持 isset(),用真值判断或 |default 修饰器替代;
  • 禁止 {php};对象成员 -> 不允许;
  • 输出 HTML 用 {$var nofilter} 关闭转义;
  • $dou.* 与引擎内建的 $douview.* 命名空间物理隔离(见「系统变量 Douview」篇)。
添加日期: