ECSHOP域名切换访问使用相同数据不同模板效果

ECSHOP教程 来源: ecshop插件网www.ecshop520.com 时间:2015-09-17 ECSHOP教程分类:ECSHOP二次开发教程

ECSHOP如何实现相同数据不同域名访问显示不同模板界面效果常有客户问这样的一个需求, 他想要这样一个网站, 网站内容是相同的程序, 相同的数据, 但是需要绑定不同的域名。

访问
www.ecshop119.com  访问的是红色模板
www.ecshop520.com 访问的是 绿色模板  
而且后台可以设置不同的title ,关键字等内容(这样容易欺骗搜索引擎,)
我是用ecshop给他实现这个功能的
需要操作的地方大概有这么几个地方.
因为ecshop 是smarty 的模板引擎,主要去修改他的编译目录,和缓存目录就可以实现这个效果了
第一:
init.php
//扩展显示的4行模板判断代码
if($_SERVER['HTTP_HOST'] == 'www.a.com') {
        $_CFG['template'] = 'default';
    }else{
        $_CFG['template'] = '360';
}

$smarty->template_dir   = ROOT_PATH . 'themes/' . $_CFG['template'];// 设置当前网站到底用的是那一个模板(所以在这之前通过逻辑操作,让不同的页面调用不同的模板)


第二: 设置编译文件存放的目录
cls_template.php
函数 make_compiled (大概225) 里面有一句
$name = $this->compile_dir .'/'. basename($filename) . '.php'; // 编译文件存放的目录
要扩展成这样, 不同的模板存放补同的编译目录,扩展如下
global $_CFG;  // 通过全局变量调用当前域名访问的模板
$name = $this->compile_dir . '/' .$_CFG['template'].'/'. basename($filename) . '.php';


第三, 如何开启静态缓存的话需要扩展的地方
函数 fetch 大概190行的
cls_template.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);


这样就OK了,一点都不破坏ecshop原来的机制.

转载请注明:ecshop插件网-ecshop插件网官网http://www.ecshop520.com/jiaocheng-1001.html

ECSHOP插件网
ecshop开发团队 ecshop开发中心 ecshop模板制作 ecshop插件网简介
ECSHOP
ecshop下载 ecshop安装教程 ecshop在线演示 ecshop后台测试
ECSHOP二次开发手册
ecshop教程 ecshop二次开发 ecshop模板教程 ecshop微信配置
ECSHOP商城网站建设
ecshop空间域名 ecshop商城建设 ecshop模板修改 ecshop开发定制
联系我们 ECShop插件下载
ECShop二次开发
ecshop搭建

ICP备案证书号:闽ICP备19017195号-2

qq code back_top
温馨提示

确定取消
温馨提示

关闭