ECSHOP如何实现相同数据不同域名访问显示不同模板界面效果

常有客户问这样的一个需求, 他想要这样一个网站, 网站内容是相同的程序, 相同的数据, 但是需要绑定不同的域名。访问 访问的是红色模板 访问的是 绿色模板 而且后台可以设置不同的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 .’http://www.68ecshop.com/’. basename($filename) . ‘.php’; // 编译文件存放的目录要扩展成这样, 不同的模板存放补同的编译目录,扩展如下global $_CFG; // 通过全局变量调用当前域名访问的模板$name = $this->compile_dir . ‘http://www.68ecshop.com/’ .$_CFG[‘template’].’http://www.68ecshop.com/’. basename($filename) . ‘.php’;复制代码第三,, 如何开启静态缓存的话需要扩展的地方函数 fetch 大概190行的cls_template.php$hash_dir = $this->cache_dir .’http://www.68ecshop.com/’ . substr(md5($cachename), 0, 1); //静态文件存放的目录扩展为global $_CFG;$hash_dir = $this->cache_dir . ‘http://www.68ecshop.com/’.$_CFG[‘template’].’http://www.68ecshop.com/’ . substr(md5($cachename), 0, 1);复制代码这样就OK了,一点都不破坏ecshop原来的机制,

上帝从不埋怨人们的愚昧,人们却埋怨上帝的不公平

ECSHOP如何实现相同数据不同域名访问显示不同模板界面效果

相关文章:

你感兴趣的文章:

标签云: