多变php服务中心

当前位置: 首页>站长学院>模板插件> ecshop 站群,多模板,多域名共用一个后台

ecshop 站群,多模板,多域名共用一个后台

来源:Ripon 发布时间:2018-07-28关注度:300 ℃
ecshop站群,ecshop多模板,ecshop多域名共用一个后台

ecshop系统只有一个,当然数据、后台当然也是通用一个,根据来访域名判断,不同域名使用不同模板。

实现思路:先把两个不同的域名解析到一起,并同时绑定域名到网站目录上.

 

一,修改includes/init.php

查找
$smarty->template_dir   = ROOT_PATH . 'themes/' . $_CFG['template'];给其上面添加
if($_SERVER['HTTP_HOST'] =='www.baidu.com')
 {
        $_CFG['template'] = 'baidu';//www.baidu.com这个域名的模板目录
    }elseif{$_SERVER['HTTP_HOST'] =='www.qq.com'
        $_CFG['template'] = 'qq';//www.qq.com这个域名的模板目录
 }else{
        $_CFG['template'] = 'default';//非特殊域名访问默认目录
 }

二,再修改includes/cls_template.php 文件

 

查找

$name = $this->compile_dir . '/' . basename($filename) . '.php';

 

将其替换为

global $_CFG;// 通过全局变量调用当前域名访问的模板
  $name = $this->compile_dir . '/' .$_CFG['template'].'/'. basename($filename) . '.php';//根据模板名生成缓存目录

 
三,第三步修改静态缓存目录,比如商店设置,商品分类等缓存目录.
继续查找
$hash_dir = $this->cache_dir . '/' . substr(md5($cachename), 0, 1);
将其替换为
global $_CFG;
   $hash_dir = $this->cache_dir . '/'.$_CFG['template'].'/' . substr(md5($cachename), 0, 1);
四、修改清除缓存的clear_tpl_files函数
打开includes\lib_common.php
查找
$dirs[] = ROOT_PATH . $tmp_dir . '/compiled/';
        $dirs[] = ROOT_PATH . $tmp_dir . '/compiled/admin/';
将其替换为
$dirs[] = ROOT_PATH . $tmp_dir . '/compiled/' . $_CFG['template'] . '/';
        $dirs[] = ROOT_PATH . $tmp_dir . '/compiled/coffee/';
        $dirs[] = ROOT_PATH . $tmp_dir . '/static_caches/';//修复修改商品分类后看不到效果,因为缓存没有被清空.
        $dirs[] = ROOT_PATH . $tmp_dir . '/compiled/admin/' . $_CFG['template'] . '/';
五、创建缓存目录(以自己的域名为准),对应模板

\temp\compiled\default

\temp\compiled\baidu

\temp\compiled\qq

temp\compiled\admin\default

temp\compiled\admin\baidu

temp\compiled\admin\qq

本文地址:https://www.phpicu.com/article.php?id=41

    责任编辑:多变php服务中心

    相关阅读