🔄 模板替换变量
ThinkAdmin 提供完善的模板替换变量系统,支持多种路径类型的自动替换,简化模板开发。
🚀 主要功能
- 路径替换: 自动替换模板中的路径变量
- 多类型支持: 支持动态路径、静态路径、应用路径等
- 灵活配置: 支持自定义路径配置
- 自动解析: 自动解析和替换路径变量
- 第三方支持: 支持生成第三方资源链接
- 开发简化: 简化模板开发中的路径处理
📋 变量类型
变量 | 案例 | 结果 | 描述 |
---|---|---|---|
__APP__ | __APP__/script | /index.php/script | 相对动态路径,通常用于加载动态脚本 |
__ROOT__ | __ROOT__/script.js | /script.js | 相对静态路径,通常用于加载静态文件 |
__PLUG__ | __PLUG__/script.js | /static/extra/index/script.js | 应用静态路径,通常用于专属应用资源 |
__FULL__ | __FULL__/script.js | https://v6.thinkadmin/script.js | 完整静态路径,通常生成第三方资源链接 |
⚙️ 使用场景
动态脚本加载
- 变量:
__APP__
- 用途: 加载动态脚本文件
- 特点: 支持动态路径解析
- 示例:
__APP__/script
→/index.php/script
静态文件加载
- 变量:
__ROOT__
- 用途: 加载静态文件资源
- 特点: 相对静态路径
- 示例:
__ROOT__/script.js
→/script.js
应用资源加载
- 变量:
__PLUG__
- 用途: 加载专属应用资源
- 特点: 应用静态路径
- 示例:
__PLUG__/script.js
→/static/extra/index/script.js
第三方资源链接
- 变量:
__FULL__
- 用途: 生成完整的第三方资源链接
- 特点: 完整静态路径
- 示例:
__FULL__/script.js
→https://v6.thinkadmin/script.js
🔧 配置说明
自动替换
- 模板解析: 在模板解析时自动替换变量
- 路径生成: 根据配置自动生成正确的路径
- 缓存支持: 支持路径缓存提升性能
- 实时更新: 支持配置变更后实时更新
自定义配置
- 路径配置: 支持自定义路径配置
- 域名设置: 支持自定义域名设置
- 协议支持: 支持 HTTP/HTTPS 协议
- 环境适配: 支持不同环境的配置
💡 使用示例
在模板中使用
<!-- 动态脚本加载 -->
<script src="__APP__/admin/script"></script>
<!-- 静态资源加载 -->
<link rel="stylesheet" href="__ROOT__/static/css/admin.css">
<!-- 应用资源加载 -->
<script src="__PLUG__/js/plugin.js"></script>
<!-- 第三方资源链接 -->
<img src="__FULL__/static/images/logo.png" alt="Logo">
在控制器中使用
// 在控制器中获取替换后的路径
$appUrl = $this->app->request->domain() . '/index.php';
$rootUrl = $this->app->request->domain();
$plugUrl = $this->app->request->domain() . '/static/extra/' . $this->app->request->module();
$fullUrl = $this->app->request->domain() . '/static';
⚠️ 注意事项
使用建议
- 动态路径: 使用
__APP__
加载需要权限验证的脚本 - 静态路径: 使用
__ROOT__
加载静态资源文件 - 应用路径: 使用
__PLUG__
加载应用专属资源 - 完整路径: 使用
__FULL__
生成第三方资源链接
性能优化
- 缓存机制: 变量替换结果会被缓存,提升性能
- 路径优化: 避免重复的路径计算
- CDN 支持: 支持 CDN 加速的路径生成