🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
该主题支持参考 [ThinkPHP3.2 - 模板主题](http://document.thinkphp.cn/manual_3_2.html#template_theme),因很多网友呼吁,官方仍未推出支持模板主题的更新,我自己修改代码,完美支持主题 >[info]tpadmin管理后台并未主动使用模板主题,无论是否修改代码支持模板主题,都不会影响管理后台正常运行 ##使用方法 在控制器里模板输出时加上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' ], ``` >[info]主题为空时表示不使用主题,不使用主题时view模板文件路径和以前一样,例如AdminGroup的模板文件在view/admin_group/*,使用blue主题时,模板文件在view/blue/admin_group/*,使用red主题时,模板文件在view/red/admin_group/* ##官方代码修改 >[warning]如果介意修改官方源码或者没有必要使用模板主题,最好不要改动官方源码,改了之后一定要做标记,否则下次升级可能会出现严重问题 >[danger]thinkphp/library/think/Controller.php 第 147 行: ``` /** * 设置模板主题 * tianpian <tianpian0805@gmail.com> * @access protected * @param string $theme * @return $this */ protected function theme($theme = '') { $this->view->theme($theme); return $this; } ``` >[danger]thinkphp/library/think/View.php 第 171 行: ``` /** * 设置模板主题 * tianpian <tianpian0805@gmail.com> * @access public * @param string $theme 主题名称 * @return $this */ public function theme($theme = '') { $this->config('default_theme', $theme); return $this; } ``` >[danger] thinkphp/library/think/view/driver/Think.php 第 35 行和第 131 行:(如果使用其他模板引擎驱动,请参照该文件修改) ``` // 第35行 // 模板主题 tianpian <tianpian0805@gmail.com> 'default_theme' => '', // 第131行: // 模板主题 tianpian <tianpian0805@gmail.com> if ($this->config['default_theme']) { $template = $this->config['default_theme'] . DS . $template; } ```