thinkphp动态实现模板切换

浏览:4173 发布日期:2017/04/19 分类:功能实现 关键字: thinkphp 模板切换 动态
thinkphp动态实现模板切换
thinkphp实现模板切换
首先在后台某个接口读取模板
Admin\Common\function.php/*
 * 获取模板目录
 */
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;
}
Admin\Controller\SystemController.class.php    /*
     * 系统设置
     */
    public function systemBase()
    {
 
            // 获取模板目录
            $dir = "./App/Home/View";
            $file = getDir($dir);
            $this->assign('file', $file);
            $this->display();
    }
Admin\View\System\systembase.html<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>
前台
Home\Conf\config.php<?php
return array(
    //'配置项'=>'配置值'
    'DEFAULT_THEME'       =>  'htmlv1.0', // 设置默认的视图层名称
);
新建公共控制器
CommonController.class.php<?php
namespace Home\Controller;
use Think\Controller;
class CommonController extends Controller {
    /*
     * 初始化方法
     */
    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']);
        }      
    }      
}
前台视图
Home\View\htmlv1.0
Home\View\htmlv2.0
Home\View\htmlv3.0
Home\View\htmlv5.0
评论( 相关
后面还有条评论,点击查看>>