一个小项目,需要配置多套前端主题。解决的思路是根据域名加载不同的主题配置。
一、在应用目录 application 下创建 common 目录。
二、application/common 目录下创建 HomeBase 控制器。代码如下:
<?php
namespace app\common\controller;
use think\Request;
///前端基类控制器
class HomeBase extends CommonBase
{
public function __construct(Request $request = null)
{
///
parent::__construct($request);
///获取当前域名
$domain = request()->domain() ?? '';
$domain = substr($domain,strrpos($domain,'://')+3);
///设置前端当前使用主题
$this->view->config('view_path',config('template')[$domain] ?? './template/default/');
}
}
三、前端代码的 controller 都继承 HomeBase 基类即可。
四、主题配置文件 template.php 的文件内容如下:
<?php
return array (
'bailoo.xin' => './template/otd/',
'def.bailoo.xin' => './template/defau