让ThinkPHP5支持模板主题(参照ThinkPHP3.2)

原创
2016-10-17 09:12:07 1810浏览
该主题支持参考ThinkPHP3.2,因很多网友呼吁,官方仍未推出支持模板主题的更新,我自己修改代码,完美支持主题
该主题支持参考ThinkPHP3.2,因很多网友呼吁,官方仍未推出支持模板主题的更新,我自己修改代码,完美支持主题

请参考tpadmin文档http://www.kancloud.cn/yuan1994/tpadmin/220597
tpadmin完美支持主题设置与切换,github仓库:https://github.com/yuan1994/tpadmin/
在线体验:http://tpadmin.demo.tianpian.net.cn 帐号:admin,密码:123456
原文地址:http://www.thinkphp.cn/code/2411.html

使用方法
在控制器里模板输出时加上theme方法://继承\think\Controller控制器时
return $this->theme('blue')->fetch();
//或者
$this->theme('blue')->display();

//没有继承\think\Controller控制器时
$view = \think\View();
return $view->theme('blue')->fetch();
//或者
$view->theme('blue')->display();

//全局设置默认模板主题
//在config.php配置文件里加上
'template' => [
//默认主题
'default_theme' => 'blue'
],
主题为空时表示不使用主题,不使用主题时view模板文件路径和以前一样,例如AdminGroup的模板文件在view/admin_group/,使用blue主题时,模板文件在view/blue/admin_group/,使用red主题时,模板文件在view/red/admin_group/*
官方代码修改
thinkphp/library/think/Controller.php 第147行: /**
* 设置模板主题
* tianpian
* @access protected
* @param string $theme
* @return $this
*/
protected function theme($theme = ''){
$this->view->theme($theme);
return $this;
}
thinkphp/library/think/View.php 第171行: /**
* 设置模板主题
* tianpian
* @access public
* @param string $theme 主题名称
* @return $this
*/
public function theme($theme = ''){
$this->config('default_theme',$theme);
return $this;
}
thinkphp/library/think/view/driver/Think.php 第35行和第131行:(如果使用其他模板引擎驱动,请参照该文件修改)//第35行
// 模板主题 tianpian
'default_theme' => '',

//第131行:
//模板主题 tianpian
if ($this->config['default_theme']){
$template = $this->config['default_theme'] . DS . $template;
}
注意
文件修改可能会导致错位,请使用tpadmin管理后台提供的源码

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。