$site 全局配置变量
作用域:全站模板可用(首页模板、购物车模板、会员中心模板)
语法:{$site.字段名} 或 {$site['字段名']}
数据来源:后台「系统配置」各分组设定值
站点基础信息
| 变量名 | 类型 | 说明 | 示例输出 |
|---|
{$site.name} | string | 站点名称 | 思博业务系统 |
{$site.domain} | string | 站点根地址 | http://sib.cc |
{$site.favicon} | string | 站点图标路径 | /uploads/xxx.png |
{$site.beian} | string | ICP备案号 | 京ICP备xxx号 |
{$site.cdnurl} | string | CDN域名 | https://cdn.xxx.com |
{$site.timezone} | string | 时区 | Asia/Shanghai |
{$site.version} | int | 版本时间戳 | 1769933723 |
SEO 与页面元数据
| 变量名 | 类型 | 数据来源 | 说明 |
|---|
{$site.title} | string | 后台 → 系统配置 → Seo设置 → 标题 | 站点默认标题,通常用于首页 <title> 标签 |
{$site.keywords} | string | 后台 → 系统配置 → Seo设置 → 关键词 | 默认 SEO 关键词,多个关键词用英文逗号分隔 |
{$site.description} | string | 后台 → 系统配置 → Seo设置 → 描述 | 默认站点描述,建议控制在 80-120 字符 |
会员与认证配置
| 变量名 | 类型 | 数据来源 | 可选值 | 说明 |
|---|
{$site.user_register_captcha} | string | 后台 → 系统配置 → 会员配置 → 注册验证方式 | email / mobile / none | 新用户注册时的验证方式 |
{$site.global_idv} | string | 后台 → 系统配置 → 会员配置 → 强制实名认证 | 0 / 1 | 是否全局强制要求实名认证 |
{$site.global_phone} | string | 后台 → 系统配置 → 会员配置 → 强制手机绑定 | 0 / 1 | 是否全局强制要求绑定手机号 |
IDC 业务核心配置
| 变量名 | 类型 | 单位 | 数据来源 | 业务含义 |
|---|
{$site.renew_before} | string | 天 | 后台 → 常规配置 → 计划任务 → 计划任务设置 | 到期前 X 天开始发送续费提醒通知 |
{$site.pause_before} | string | 天 | 后台 → 常规配置 → 计划任务 → 计划任务设置 | 到期后 X 天自动暂停服务(置为暂停状态) |
{$site.keep_days} | string | 天 | 后台 → 常规配置 → 计划任务 → 计划任务设置 | 暂停后保留数据的宽限期,超期可删除 |
{$site.purge_after} | string | 天 | 后台 → 常规配置 → 计划任务 → 计划任务设置 | 产品删除后等待 X 天再从物理上清除数据 |
$user 用户变量
使用前提:仅在用户登录状态下有效,未登录时为 null。使用前必须先判断 {if $user}。
基础信息
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.id} | int | 1 | 用户ID |
{$user.username} | string | "admin" | 用户名(登录账号) |
{$user.nickname} | string | "帅哥1是" | 用户昵称 |
{$user.email} | string | "king@sib.cc" | 邮箱地址 |
{$user.mobile} | string | "17699122121" | 手机号 |
{$user.avatar} | string | "http://.../avatar.jpg" | 头像URL |
账户状态
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.status} | string | "normal" | 账户状态:normal=正常,disabled=禁用 |
{$user.level} | int | 0 | 用户等级 |
{$user.group_id} | int | 1 | 用户组ID |
{$user.agent_id} | int | 1 | 代理商ID |
财务信息
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.money} | string | "574.01" | 账户余额 |
{$user.score} | int | 0 | 积分 |
个人资料
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.gender} | int | 1 | 性别:0=未知,1=男,2=女 |
{$user.birthday} | string | "2017-04-04" | 生日 |
{$user.bio} | string | "7777s" | 个人简介 |
登录记录
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.logintime} | int | 1769750628 | 最后登录时间(时间戳) |
{$user.loginip} | string | "127.0.0.1" | 最后登录IP |
{$user.prevtime} | int | 1769398867 | 上次登录时间(时间戳) |
{$user.successions} | int | 1 | 连续登录天数 |
{$user.maxsuccessions} | int | 2 | 最大连续登录天数 |
注册信息
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.jointime} | int | 1491635035 | 注册时间(时间戳) |
{$user.joinip} | string | "127.0.0.1" | 注册IP |
{$user.createtime} | int | 0 | 创建时间 |
{$user.updatetime} | int | 1769865594 | 更新时间 |
验证状态
| 变量名 | 类型 | 示例值 | 说明 |
|---|
{$user.verification} | string | {"email":1,"mobile":0,"idv":1} | 验证状态JSON字符串 |
注意事项
$site 变量注意事项
- 时区一致性:
{$site.timezone} 影响所有时间格式化输出,确保与服务器时区配置一致 - CDN 路径拼接:使用
{$site.cdnurl} 拼接静态资源路径时,注意去除重复斜杠,建议写法:{$site.cdnurl}/static/xxx - 版本戳缓存:
{$site.version} 用于强制刷新浏览器缓存,更新后自动变化,可用于 CSS/JS 文件后缀 ?v={$site.version} - 生命周期配置单位:所有 IDC 配置项(
renew_before、pause_before 等)虽为字符串类型,但业务逻辑中按整数天数处理,确保填写纯数字
$user 变量注意事项
- 必须先判断是否存在:使用前必须用
{if $user} 判断,直接访问未登录用户变量会导致模板报错或空值异常 - 时间字段为时间戳:
logintime、jointime、prevtime 等时间字段为 Unix 时间戳(秒级),显示时需用 {:date('Y-m-d', $user.xxx)} 格式化 - money 为字符串类型:余额字段为字符串类型展示,进行数值计算时建议先转为 float 类型避免精度问题
- verification 需 JSON 解析:验证状态字段为 JSON 字符串,模板中可直接用对象语法访问(如
$user.verification.email),但需确保数据格式合法 - 敏感字段已过滤:
password、salt、token 等敏感字段已在控制器层过滤,不会传递到前端模板,即使强制访问也为空值 - 状态值常量定义:
status 字段除了 normal 和 disabled,还可能存在 pending(待审核)等自定义状态,判断时建议使用 {if $user.status != 'normal'} 而非仅判断 disabled
chat_bubble_outline 评论