ecshop 实现多域名共用一套系统

客户需求如下:多个域名共用一套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);


到这步就解决了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值