Thinkphp5 实现动态模板主题多个模板切换
在项目开发过程中会遇到一个网站有不同风格,本文详细介绍Thinkphp5 实现模板主题多个模板切换
一、在Config中配置view_path模板路径代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 'template' => [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think' , // 模板路径 'view_path' => '/template/' , // 模板后缀 'view_suffix' => 'html' , // 模板文件名分隔符 'view_depr' => DS, // 模板引擎普通标签开始标记 'tpl_begin' => '{' , // 模板引擎普通标签结束标记 'tpl_end' => '}' , // 标签库标签开始标记 'taglib_begin' => '{' , // 标签库标签结束标记 'taglib_end' => '}' , ], |
二、所有控制器继承 Base控制器,Base 控制器代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class Base extends Controller { public function __construct(Request $request ) { if ( $request ->isMobile()) { config( 'template.view_path' , 'template/default/mobile/' . $request ->module(). "/" ); } else { config( 'template.view_path' , 'template/default/web/' . $request ->module(). "/" ); } parent::__construct( $request ); } } |
PS:必须在构造函数里用config,构造函数过后调用就没用了
分类:
thinkphp5
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容