thinkphp实现模板切换

时间:2023年05月11日

/

来源:网络

/

编辑:佚名

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 {
    /*
     * 初始化方法
     * 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']);
        }      
    }      
}
复制
前台视图
Home\View\htmlv1.0
Home\View\htmlv2.0
Home\View\htmlv3.0
Home\View\htmlv5.0
即可实现切换模板
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。