欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > cms使用教程 > ecshop使用教程 >

ecshop不同域名访问显示不同模板界面效果的方法

发布时间:2017-01-28  编辑:杨雨个人博客网站   点击:   

常有ecshop客户问这样的一个 需求, 他想 要这样一个网站, 网站内容是相同的程序,相同的数据,但是需要绑定不同的域名。

访问 访问的是 红色模板,访问的是 绿色模板,而且后台可以设置 不同的title ,关键字等内容(这样容易欺骗搜索引擎,),我是用ecshop给他实现这个功能的.

需要操作的地方大概有这么几个地方.

因为ecshop 是smarty 的模板引擎,主要去修改 他的编译目录,和缓存目录就可以实现这个效果了

第一:init.php,扩展显示的4 行模板判断代码

if($_SERVER['HTTP_HOST'] == 'www.zuimoban.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 原来的机制。

本文地址:http://itbyc.com/cms/ecshop/15282.html
转载请注明出处。
分享是一种快乐,也是一种美德:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1