您的位置:首页 > 运维架构

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

2016-07-11 22:53 441 查看
系统只有一个,后台当然也是共用一个,用不同的域名访问这个站,则显示不同的模板,实现方式是先把两个不同的域名解析到同一个服务器上,并同时绑定域名到网站目录上.然后

一,修改includes/init.php

这一句
$smarty->template_dir   = ROOT_PATH . 'themes/' . $_CFG['template'];
整体替换为下面这几行
if($_SERVER['HTTP_HOST'] =='www.123.com' ) {
$_CFG['template'] = 'default';
}else{
$_CFG['template'] = 'coffee';
}
$smarty->template_dir   = ROOT_PATH . 'themes/' . $_CFG['template'];

二,再修改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);

四.创建缓存目录,

需要在\temp\compiled 目录中建立模板名命名的目录

比如.对应不同的模板

\temp\compiled\default

\temp\compiled\coffee

temp\compiled\admin\coffee

temp\compiled\admin\default

五,修改清除缓存的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/default/';
$dirs[] = ROOT_PATH . $tmp_dir . '/compiled/coffee/';
$dirs[] = ROOT_PATH . $tmp_dir . '/static_caches/';//7月23补充,这句不增加,会引致修改商品分类后看不到效果,因为缓存没有被清空.
$dirs[] = ROOT_PATH . $tmp_dir . '/compiled/admin/coffee/';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: