library_books 思博业务

公用函数说明

$site 全局配置变量

作用域:全站模板可用(首页模板、购物车模板、会员中心模板)
语法{$site.字段名}{$site['字段名']}
数据来源:后台「系统配置」各分组设定值

站点基础信息

变量名类型说明示例输出
{$site.name}string站点名称思博业务系统
{$site.domain}string站点根地址http://sib.cc
{$site.favicon}string站点图标路径/uploads/xxx.png
{$site.beian}stringICP备案号京ICP备xxx号
{$site.cdnurl}stringCDN域名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}int1用户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}int0用户等级
{$user.group_id}int1用户组ID
{$user.agent_id}int1代理商ID

财务信息

变量名类型示例值说明
{$user.money}string"574.01"账户余额
{$user.score}int0积分

个人资料

变量名类型示例值说明
{$user.gender}int1性别:0=未知,1=男,2=女
{$user.birthday}string"2017-04-04"生日
{$user.bio}string"7777s"个人简介

登录记录

变量名类型示例值说明
{$user.logintime}int1769750628最后登录时间(时间戳)
{$user.loginip}string"127.0.0.1"最后登录IP
{$user.prevtime}int1769398867上次登录时间(时间戳)
{$user.successions}int1连续登录天数
{$user.maxsuccessions}int2最大连续登录天数

注册信息

变量名类型示例值说明
{$user.jointime}int1491635035注册时间(时间戳)
{$user.joinip}string"127.0.0.1"注册IP
{$user.createtime}int0创建时间
{$user.updatetime}int1769865594更新时间

验证状态

变量名类型示例值说明
{$user.verification}string{"email":1,"mobile":0,"idv":1}验证状态JSON字符串

注意事项

$site 变量注意事项

  1. 时区一致性{$site.timezone} 影响所有时间格式化输出,确保与服务器时区配置一致
  2. CDN 路径拼接:使用 {$site.cdnurl} 拼接静态资源路径时,注意去除重复斜杠,建议写法:{$site.cdnurl}/static/xxx
  3. 版本戳缓存{$site.version} 用于强制刷新浏览器缓存,更新后自动变化,可用于 CSS/JS 文件后缀 ?v={$site.version}
  4. 生命周期配置单位:所有 IDC 配置项(renew_beforepause_before 等)虽为字符串类型,但业务逻辑中按整数天数处理,确保填写纯数字

$user 变量注意事项

  1. 必须先判断是否存在:使用前必须用 {if $user} 判断,直接访问未登录用户变量会导致模板报错或空值异常
  2. 时间字段为时间戳logintimejointimeprevtime 等时间字段为 Unix 时间戳(秒级),显示时需用 {:date('Y-m-d', $user.xxx)} 格式化
  3. money 为字符串类型:余额字段为字符串类型展示,进行数值计算时建议先转为 float 类型避免精度问题
  4. verification 需 JSON 解析:验证状态字段为 JSON 字符串,模板中可直接用对象语法访问(如 $user.verification.email),但需确保数据格式合法
  5. 敏感字段已过滤passwordsalttoken 等敏感字段已在控制器层过滤,不会传递到前端模板,即使强制访问也为空值
  6. 状态值常量定义status 字段除了 normaldisabled,还可能存在 pending(待审核)等自定义状态,判断时建议使用 {if $user.status != 'normal'} 而非仅判断 disabled

chat_bubble_outline 评论 0

edit 发表评论

目录