FastAdmin CMS 实现手机端与电脑端双模板的方法
1. 加载第三方判断客户端UA类库
首先,加载第三方判断客户端UA类库。类库地址:Mobile Detect
使用 Composer 安装:
composer require mobiledetect/mobiledetectlib
2. 编辑 Base.php
编辑你的项目目录 addons/cms/controller/Base.php
文件。
2.1 引入类库
在文件顶部大约第 6 行的位置新增:
use Mobile_Detect;
2.2 修改视图路径配置
找到大约第 21 行的代码:
$this->view->engine->config('view_path', $this->view->engine->config('view_path') . $config['mtheme'] . DS);
替换为:
$Mobile_Detect = new Mobile_Detect;
if ($Mobile_Detect->isMobile()) {
$this->view->engine->config('view_path', $this->view->engine->config('view_path') . $config['mtheme'] . DS);
} else {
$this->view->engine->config('view_path', $this->view->engine->config('view_path') . $config['theme'] . DS);
}
3. 添加新的站点配置 => 手机模板配置
3.1 编辑 config.php
编辑你的项目目录 addons/cms/config.php
文件,找到大约第 99 行的位置,新增以下代码:
[
'name' => 'mtheme',
'title' => '手机站皮肤',
'type' => 'string',
'content' => [],
'value' => 'mobile',
'rule' => 'required',
'msg' => '',
'tip' => '请确保 addons/cms/view 有相应的目录',
'ok' => '',
'extend' => '',
],
3.2 后台站点配置
打开后台【站点配置】查看并确认配置。
3.3 新建目录
在你的项目目录 addons/cms/view/
下新建目录 mobile
。
Default
为电脑端模板目录,mobile
则是手机端模板。
至此,设置完成。