电脑端和手机端同url展示

同URL显示需要操作3步:

1、在扩展函数里写设备判断函数checkmobile():

\phpcms\libs\functions\extention.func.php

/**
 *  extention.func.php 用户自定义函数库
 *
 * @copyright			(C) 2005-2010 PHPCMS
 * @license				http://www.phpcms.cn/license/
 * @lastmodify			2010-10-27
 *
 *
 * 根据php的$_SERVER['HTTP_USER_AGENT'] 中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端
 * @author           discuz3x
 * @lastmodify    2014-04-09
 * @return  BOOL
 */
function checkmobile() {
 global $_G;
 $mobile = array();
//各个触控浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组
 static $touchbrowser_list =array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',
    'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',
    'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',
    'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',
    'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',
    'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',
    'benq', 'haier', '^lct', '320x320', '240x320', '176x220');
//window手机浏览器数组【猜的】
 static $mobilebrowser_list =array('windows phone');
//wap浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组
 static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',
   'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',
   'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte');
 $pad_list = array('pad', 'gt-p1000');
 $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
 if(dstrpos($useragent, $pad_list)) {
  return false;
 }
 if(($v = dstrpos($useragent, $mobilebrowser_list, true))){
  $_G['mobile'] = $v;
  return '1';
 }
 if(($v = dstrpos($useragent, $touchbrowser_list, true))){
  $_G['mobile'] = $v;
  return '2';
 }
 if(($v = dstrpos($useragent, $wmlbrowser_list))) {
  $_G['mobile'] = $v;
  return '3'; //wml版
 }
 $brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop');
 if(dstrpos($useragent, $brower)) return false;
 $_G['mobile'] = 'unknown';
//对于未知类型的浏览器,通过$_GET['mobile']参数来决定是否是手机浏览器
 if(isset($_G['mobiletpl'][$_GET['mobile']])) {
  return true;
 } else {
  return false;
 }
}
/**
 * 判断$arr中元素字符串是否有出现在$string中
 * @param  $string     $_SERVER['HTTP_USER_AGENT']
 * @param  $arr          各中浏览器$_SERVER['HTTP_USER_AGENT']中必定会包含的字符串
 * @param  $returnvalue 返回浏览器名称还是返回布尔值,true为返回浏览器名称,false为返回布尔值【默认】
 * @author           discuz3x
 * @lastmodify    2014-04-09
 */
function dstrpos($string, $arr, $returnvalue = false) {
 if(empty($string)) return false;
 foreach((array)$arr as $v) {
  if(strpos($string, $v) !== false) {
   $return = $returnvalue ? $v : true;
   return $return;
  }
 }
 return false;
}

2、修改模块负责解析的函数

以content模块为例:

修改 \phpcms\modules\content\index.php

修改template函数参数,增加判断;

if(checkmobile()){
			include template('mobile','index',$default_style);
		}else{
		include template('content','index',$default_style);}

3、设置手机版的模板,根据模板解析函数的设置参数,需要在模板文件夹下创建mobile文件夹,并在mobile文件夹中编写手机版的模板即可

原创文章,作者:KUUML,如若转载,请注明出处:https://www.beidandianzhu.com/g/4457.html

(0)
KUUML的头像KUUML
上一篇 2025-01-01
下一篇 2025-01-01

相关推荐

  • 电脑没有nvidia控制面板的解决方法

    电脑没有nvidia控制面板的解决方法:1、右键点击【此电脑】,选择【管理】;2、打开【设备管理器】;3、找到NVIDIA显卡驱动,重启该驱动即可。 解决方法: 首先,我们要右键电…

    2025-01-01
  • 电脑死机怎么办

    方法一:启动任务管理器 1.按【ctrl+alt+del】组合键快速启动任务管理器 2.在任务管理器窗口下,点击“应用程序”栏,选择让你的电脑死机的任务,如果你不知道是哪个任务让你…

    2025-01-04
  • 电脑出现阻止adobe flash player的方法

    出现电脑阻止adobe flash player是更新版本所致,解决方法:首先打开控制面板,选择Flash Player;然后切换至更新选项卡,并勾选“允许Adobe安装更新”选项…

    2025-01-02
  • 电脑没网如何把文件传到手机

    将电脑文件传输到手机的方法如下: 1.安卓手机可以通过数据线(即“USB线”)直接和电脑进行数据传输。首先用数据线连接手机和电脑。 2.在弹出的对话框中选择“是,访问数据”。 3.…

    2025-01-01
  • 电脑运行速度与哪些有关联

    电脑运行速度和CPU有关,CPU频率就是CPU的时钟频率,简单来说,就是CPU运算时的工作的频率的简称,其单位是Hz,它决定计算机的运行速度,在同系列微处理器,主频越高就代表计算机…

  • 电脑如何设置新ip地址

    1、直接在网络中心修改 双击打开电脑控制面板,找到网络和Internet按钮。 打开网络与共享中心,然后选择更改适配器设置。 打开后找到自己连接的网络,单击右键选择属性。 在弹出的…

  • 如何解决电脑上的流氓广告的问题

    电脑上的流氓广告的解决办法:首先打开系统运行功能;然后在运行中输入【msconfig】命令;接着在【系统配置】框中,选择服务项目;最后关闭广告的服务项即可。 电脑上的流氓广告的解决…

    2025-01-01
  • Iaiwai电脑CP140重生记

    朋友的一台Iaiwai电脑,没有了声音,让我给处理一下。刚接到电脑明显感觉轻了不少。也没多想,找开电脑进入系统,打开设备管理器,发现驱动有问题。二话不说下载安装驱动,重启电脑,悲剧…

    2025-01-01
  • 电脑上windows无线服务没了的解决方法

    电脑上的windows无线服务没了的解决方法:1、按【win+r】打开运行,输入services.msc,回车;2、找到并开启WLAN AutoConfig服务;3、打开命令提示符…

    2025-01-01
  • 电脑微信如何添加好友

    具体的方法如下: 1、先运行微信电脑版并通过手机扫描登录微信账号,确认登录。 2、登录微信电脑版后我们就进入了微信聊天界面了,鼠标移动到左侧的通讯录图标点击进入。 3、在微信电脑版…

    2025-01-03

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部