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()."http://www.mamicode.com/"); } else{ config(‘template.view_path‘,‘template/default/web/‘.$request->module()."http://www.mamicode.com/"); } parent::__construct($request); } }
PS:必须在构造函数里用config,构造函数过后调用就没用了
====================================
以上是全局切换,下面 是自定义切换
====================================
1.无参数调用
return $view->fetch();2.指定操作调用
return $view->fetch("index");3.带控制器
return $view->fetch("demo/index");4.跨模块调用
return $view->fetch("[email protected]/index");5.全路径模板调用
return $view->fetch(APP_PATH.request()->module().‘/view/demo/index.html‘);采用5,全路径模板调用可解决
Thinkphp5 实现动态模板主题多个模板切换
,温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39954.html