ecshop其他页面判断是智能手机访问也跳转到ECTouch对应手机版页面(转)
ecshop 其他页面(商品详情页、商品分类页、团购页、优惠活动页、积分商城) 判断如果是智能手机访问跳转到ECTouch1.0手机版对应页面 方法
首先在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;
}
}
}
}
pc_to_mobile();
以上修改 适用于网站程序是ecshop2.7.3版本与手机版ECTouch1.0且没有经过二次开发。
http://help.ecmoban.com/article-2083.html
ecshop其他页面判断是智能手机访问也跳转到ECTouch对应手机版页面(转)的更多相关文章
- ecshop PC版本智能跳转到对应手机版页面
		以下适用于PC跳转到ectouch手机版的写法.其他手机端的方法类似. 修改文件 includes/lib_main.php 增加以下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 
- 手机访问pc版网站自动跳转为手机版页面
		1.PC版首页</head>标签前加上以下脚本 <script src="/tools/browser_redirect.ashx"></script ... 
- JavaScript 判断手机端访问并跳转 redirect mobile
		假如你的手机端网站在 /m 目录下 (function(a,b){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer| ... 
- uc浏览器手机版,页面图片不显示
		uc浏览器手机版,有时候上面的轮播广告看不到 原因:uc浏览器会拦截所有带ad的标签 例如: <div id="adDiv"> <img src="/r ... 
- apache通过.htaccess(rewrite)判断手机电脑跳转-手机用户重定向到手机版
		自动判断.重定向的办法也有几种: 使用网站构建的程序(例如PHP)来判断.重定向:使用服务器上的Web服务(例如Apache)来判断.重定向. 在Apache中设置重定向有两个办法: 在网站的http ... 
- 通过PHP自带的$_SERVER判断 手机访问网站自动跳转到手机版
		需要有PC版网站和移动版网站,当手机访问域名的时候,通过PHP自带的$_SERVER判断浏览设备并跳转到移动版页面.如果是PC电脑打开网址,则不跳转直接访问pc版. <?php //php判断客 ... 
- JS判断移动端访问设备并加载对应CSS样式
		JS判断不同web访问环境,主要针对移动设备,提供相对应的解析方案(判断设备代码直接copy腾讯网的) // 判断是否为移动端运行环境 if(/AppleWebKit.*Mobile/i.test(n ... 
- JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
		JavaBean组件 JavaBean组件实际是一种java类.通过封装属性和方法成为具有某种功能或者处理某个业务的对象. 特点:1.实现代码的重复利用.2.容易编写和维护.3.jsp页面调用方便. ... 
- ThinkPHP3.2判断手机端访问并设置默认访问模块的方法
		ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法 目录结构 公共模块Common,Home模块,Mobile模块 配置Application/Common/Conf/config.p ... 
随机推荐
- Percona 工具包 pt-online-schema-change 简介
			mysql的在线表结构修改,因为低效和阻塞读写.一直被诟病.至于ALTER TABLE 的原理,参看我上一篇文章.MySQL在线修改大表结构.看完后,发现的问题是还是会锁的,且对于在线更新的这块也是不 ... 
- Linux Shell脚本简介
			Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ... 
- NO.4 Android开发中常用框架及工具
			android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView.ViewPager.WevView.ExpandableListView.GridView ... 
- windows查看端口占用、结束进程
			在开发中难免会遇到windows的端口被占用,现在我们来查看端口的占用和结束占用端口的进程. win+r 输入cmd进入命令提示符: 比如我们要查看8080端口的占用情况,输入netstat -aon ... 
- Entity Framework 6 Code First 系列:无需修改实体和配置-在MySql中使用和SqlServer一致的并发控制
			无需修改实体和配置,在MySql中使用和SqlServer一致的并发控制.修改RowVersion类型不可取,修改为Timestamp更不可行.Sql Server的RowVersion生成一串唯一的 ... 
- spring3: 内置Resource实现
			4.2 内置Resource实现 4.2.1 ByteArrayResource ByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个By ... 
- za2
			程序集?生成后 一个exe,一个dll. 也可以是一个项目. vs 快速生成字段的代码段快捷键,快速生成构造函数,生成普通方法结构的快捷键 ************************* ... 
- 在阿里云上安装python3.4和pycharm
			一. 安装python3.4 二. 安装pycharm 三. 安装可视化界面和远程桌面连接 四. 启动和配置pycharm 五. 安装更多字体 六. 给pycharm设置桌面快捷方式 一. 安装pyt ... 
- Neutron的防火墙原理
			确切的说这是fwaas,即防火墙即是服务. 防火墙与安全组区别防火墙一般放在网关上,用来隔离子网之间的访问.因此,防火墙即服务也是在网络节点上(具体说来是在路由器命名空间中)来实现. 安全组的对象是虚 ... 
- YUI笔记 1 模块加载
			我们通常开发js程序就是使用<script>标签把脚本引入到页面中进行开发,如果是简单的逻辑还好,但是如果是比较庞大的大规模js开发,可能会出现下面的问题: 1. <script& ... 
