首页 » 开源CMS » ECShop » 正文

ECSHOP判断手机端访问跳转到ECTouch对应手机版页面

ecshop其他页面(商品详情页、商品分类页、团购页、优惠活动页、积分商城) 如果是手机访问则自动跳转到ECTouch手机版对应页面的方法,首先在ecshop根目录下的includes/lib_main.php文件里添加一个函数function pc_to_mobile()

/**
* ecshop 实现其他页面(商品详情页、商品分类页、团购页、优惠活动页、积分商城)
* 判断如果是智能手机访问的话 跳转到ECTouch1.0手机版对应页面 方法
*
* @access public
*/
function pc_to_mobile()
{
//判断是否是手机访问
$is_mobile = false;
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
{
$is_mobile = true;
}

/* 判断是否重写,取得文件名 */
$cur_url = basename(PHP_SELF);
if (intval($GLOBALS['_CFG']['rewrite'])){
$filename = strpos($cur_url,'-') ? substr($cur_url, 0, strpos($cur_url,'-')) : substr($cur_url, 0, -4);
}else{
$filename = substr($cur_url, 0, -4);
}

if($is_mobile){
/*
* 如果你绑定了手机版域名 http://www.abc.com/mobile 为 http://m.abc.com
* 那么 $mobile_url = http://m.abc.com
*/
$mobile_url = $GLOBALS['ecs']->url().'mobile';

/* 根据文件名分别处理中间的部分 */
if ($filename != 'index')
{
/* 处理有分类的 */
if (in_array($filename, array('category', 'goods', 'brand')))
{
/* 商品分类或商品 */
if ('category' == $filename || 'goods' == $filename || 'brand' == $filename)
{
$Loaction = $mobile_url .'/?c='.$filename.'&a=index&'.$_SERVER["QUERY_STRING"];
}
}
/* 处理无分类的 */
else
{
/* 团购 */
if ('group_buy' == $filename)
{
if(!empty($_GET['id'])){
$Loaction = $mobile_url .'/?c=groupbuy&a=info&id='.$_GET['id'];
}else{
$Loaction = $mobile_url .'/?c=groupbuy';
}
}
/* 拍卖 */
elseif ('auction' == $filename)
{
if(!empty($_GET['id'])){
$Loaction = $mobile_url .'/?c=auction&a=info&id='.$_GET['id'];
}else{
$Loaction = $mobile_url .'/?c=auction';
}
}
/* 夺宝 */
elseif ('snatch' == $filename)
{
if(!empty($_GET['id'])){
$Loaction = $mobile_url .'/?c=snatch&a=info&id='.$_GET['id'];
}else{
$Loaction = $mobile_url .'/?c=snatch';
}
}
/* 批发 */
elseif ('wholesale' == $filename)
{
if(!empty($_GET['id'])){
$Loaction = $mobile_url .'/?c=wholesale&a=info&id='.$_GET['id'];
}else{
$Loaction = $mobile_url .'/?c=wholesale';
}
}
/* 积分兑换 */
elseif ('exchange' == $filename)
{
if(!empty($_GET['id'])){
$Loaction = $mobile_url .'/?c=exchange&a=exchange_goods&gid='.$_GET['id'];
}else{
$Loaction = $mobile_url .'/?c=exchange';
}
}
/* 优惠活动 */
elseif ('activity' == $filename)
{
$Loaction = $mobile_url .'/?c=activity';
}

}
/* ecshop跳转到手机对应页面 */
if (!empty($Loaction)){
ecs_header("Location: $Loaction");
exit;
}
}

}

}

 

然后在ecshop根目录下includes/init.php里大概129行的商店关闭判断代码之后添加

pc_to_mobile();

 

以上修改适用于ecshop2.7.3版本与ECTouch1.0版本且没有经过二次开发。

发表评论