thinkphp实现模板切换
首先在后台某个接口读取模板
AdminCommonfunction.php
代码语言:javascript复制/*
* 获取模板目录
*/
function getDir($dir) {
$dir=scandir($dir);
for ($i=0;$i<count($dir);$i ){
if ($dir[$i]=='.'){
unset($dir[$i]);
}
if ($dir[$i]=='..'){
unset($dir[$i]);
}
}
$dir=array_merge($dir);
for ($i=0;$i<count($dir);$i ){
if ($dir[$i]=='index.html'){
unset($dir[$i]);
}
}
$dir=array_merge($dir);
return $dir;
}
AdminControllerSystemController.class.php
代码语言:javascript复制 /*
* 系统设置
*/
public function systemBase()
{
// 获取模板目录
$dir = "./App/Home/View";
$file = getDir($dir);
$this->assign('file', $file);
$this->display();
}
AdminViewSystemsystemBase.html
代码语言:javascript复制<select name="template" class="select" id="template">
<volist name="file" id="vo">
<option value="{$vo}" <if condition="$data.template eq $vo ">selected="selected"</if> >{$vo}</option>
</volist>
</select>
前台
HomeConfconfig.php
代码语言:javascript复制<?php
return array(
//'配置项'=>'配置值'
'DEFAULT_THEME' => 'htmlv1.0', // 设置默认的视图层名称
);
新建公共控制器
CommonController.class.php
代码语言:javascript复制<?php
namespace HomeController;
use ThinkController;
class CommonController extends Controller {
/*
* 初始化方法
* 2017年4月19日10:08:52
*/
public function _initialize(){
$data=F('system');
if (empty($data)){
$model=M('system');
$data=$model->where("id=%d",1)->find();
F('system',$data);
}
if (!empty($data['template'])){
C('DEFAULT_THEME',$data['template']);
}
}
}
前台视图
HomeViewhtmlv1.0
HomeViewhtmlv2.0
HomeViewhtmlv3.0
HomeViewhtmlv5.0
即可实现切换模板