文章目录

  • phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变?
      • 替换的文件路径如下:
    • `方法一:`
      • 准备替换为代码:
      • 修改```index.php```文件,需要替换的代码的几处位置提示:
    • `方法二:`(修改两处)
    • 附:` 配置文件 · 一键下载:`
      • 相关文章推荐:


phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变?

说到此处,不得不联系到 phpcms中关于“ 设备类型的检测与判断 ”的设置办法?

注意: 替换的代码如下,几处位置替换的代码都一样。

替换的文件路径如下:

www\phpcms\modules\content\index.php


方法一:


准备替换为代码:

/*判断客户端*/
if(substr($_SERVER['SERVER_NAME'], 0,1) == 'm'){include template('content_m','index',$default_style);
}elseif(stristr($_SERVER['HTTP_VIA'],"wap")){// 先检查是否为wap代理,准确度高include template('content_m','index',$default_style);
}elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){// 检查浏览器是否接受 WML.include template('content_m','index',$default_style);
}elseif(preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])){//检查USER_AGENTinclude template('content_m','index',$default_style);
}else{include template('content','index',$default_style);
}

修改index.php文件,需要替换的代码的几处位置提示:

第一处: 第31行的 include template('content','index',$default_style);
第二处: 第203行 include template('content',$template);
第三处: 第265行 include template('content',$template);
第四处: 第278行 include template('content',$template);

据此提示,修改并完成设置双模板的方法步骤:

  1. 按照路径 www\phpcms\template,在 template文件夹下面 新建 content_m文件夹;
  2. content_m下面放入事先写好的 html 手机端模板页面;
  3. 复制本文的替换代码,并找到目标项目的指定路径index.php文件,根据上述提供的几处位置,进行替换修改,【路径如下】:
    www\phpcms\modules\content\index.php
  4. 直接覆盖替换原有的 index.php文件即可;
  5. 已经完成手机模板的相关设置【修改后的代码截图,此处省略,不再展示】;


方法二:(修改两处)

  1. 打开/phpcms/libs/functions/global.func.php

    新增如下代码:

    /*** Function isMobile* @param $n 判断手机版*/function isMobile(){  $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';     function CheckSubstrs($substrs,$text){    foreach($substrs as $substr)     if(false!==strpos($text,$substr)){      return true;     }     return false;  }$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');  $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) || CheckSubstrs($mobile_token_list,$useragent);  if ($found_mobile){    return true;  }else{    return false;  }  }
    
  2. 打开phpcms/modules/content/index.php
    大约在31行处,找到 include template('content','index',$default_style); 并修改为:

    if(isMobile()){include template('content_m','index',$default_style);
    }else{include template('content','index',$default_style);
    }
    

    然后在203、265、278行处,分别找到 include template('content',$template);
    并替换上述相同的代码,即可完成实现双端设置。

上述代码参考于:@http://blog.54zm.com/article/86

附:配置文件 · 一键下载:

  • 点击下载

相关文章推荐:

  • phpcms中关于“ 设备类型的检测与判断 ”的设置办法?

以上就是关于“ phpcms 怎样实现电脑,手机访问自动调用不同模板而URL地址不变 ” 的全部内容。

phpcms 怎样实现PC端、手机端的双模版相关推荐

  1. PC端手机端百度查排名工具(SEO工具)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kaeX0TZN-1637306311903)(http://cdn.h3blog.com/20211119142524. ...

  2. 天涯明月刀无法显示服务器,天涯明月刀登录不进去怎么办 pc端手机端服务器已满怎么解决_游戏369...

    天涯明月刀这款手游终于公测了,每个玩家都可以在这里创造属于自己的江湖世界,不同的人会有不同的旅程,所以想要拥有一段属于自己江湖旅程就一定不要错过天刀这款手游,不过这款游戏刚公测,有很多bug,不知道怎 ...

  3. ehvierwer登录与不登录_《天涯明月刀手游》pc端手机端登录不进去如何解决 服务器已满快速解决方法...

    导读 天涯明月刀这款手游终于公测了,每个玩家都可以在这里创造属于自己的江湖世界,不同的人会有不同的旅程,所以想要拥有一段属于自己江湖旅程就一定不要错过天刀这款手游,不过这款游戏刚公测,有很多bug,不 ...

  4. 697小说源码PC端+手机端+火车头采集工具

    关于安装: 整套源码共计4部分: 1.安装及采集等说明书(   文档教程(小说).doc   )2.数据库(   数据库(3000)[backupdata].rar   )3.网站程序(   网站程序 ...

  5. 原生javascript图片惰性延迟加载插件lazyload–兼容PC端手机端

    为什么需要页面图片惰性延迟加载? 当页面内图片达到一定的数量,页面的加载速度就越来越差. 我们并不需要把所有图片一次性加载完,而且,用户也不会一次性把所有图片看完. 所以,我们需要做的就是按需加载,只 ...

  6. css实现背景图PC端/手机端自适应

    css代码: @charset "utf-8";*{margin: 0px;padding: 0px;font-family: "Helvetica Neue" ...

  7. 用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)...

    AA.phpcms进行双语切换方法(不用解析二级域名) phpcms进行两种语言的切换,有一把部分的人都是进行的二级域名的解析,这样的话可能会有一部分的麻烦,我这里有一种方法可以不用解析二级域名就可以 ...

  8. 移动端(手机端)页面自适应解决方案—rem布局篇

    移动端(手机端)页面自适应解决方案-rem布局 假设设计妹妹给我们的设计稿尺寸为750 * 1340.结合网易.淘宝移动端首页html元素上的动态font-size属性.设计稿尺寸.前端与设计之间协作 ...

  9. 移动端(手机端)页面自适应解决方案—rem布局篇 1

    动端(手机端)页面自适应解决方案-rem布局 假设设计妹妹给我们的设计稿尺寸为750 * 1340.结合网易.淘宝移动端首页html元素上的动态font-size属性.设计稿尺寸.前端与设计之间协作流 ...

最新文章

  1. Unity发布WebGL时如何修改默认的载入进度条sf?
  2. 源码读不会,小白两行泪!
  3. p:commandButton vs h:commandButton
  4. 数据库-优化-SQL及索引优化
  5. jQuery笔记[1]——jqGrid中实现自定义链接弹出subgrid
  6. python 关闭窗口事件_python在Linux平台下捕获窗体关闭事件
  7. [Leetcode][第632题][JAVA][最小区间][堆][滑动窗口]
  8. 那些年踩过的Java异常,简直了!
  9. figma应用——面向用户的咖啡点单APP的设计过程记录
  10. 推荐几款好的小程序UI库组件
  11. css 背景渐变 图像_交叉渐变背景图像
  12. 解闷又有趣的小游戏在这就有
  13. docker 安装mysql,不区分大小写配置
  14. 00-线段检测--FLD
  15. html去除表格间距,HTML两个表格间距怎么调整
  16. 手风琴效果(vue实现)
  17. C语言之memset函数
  18. 用户贷款风险预测之Top10初体验
  19. 北漂家乡买房记:6年至少亏了50% 还无法脱手!
  20. php删除帖子代码,删帖 - iptv信源、网络视频直播ip资源、直播代码 - 恩山无线论坛 - Powered by Discuz!...

热门文章

  1. OpenStack第十四个版本及14项重要事实
  2. Java 嵌套类和内部类演示样例lt;二gt;
  3. 如何VMare虚拟机里安装Mac操作系统(图文详解)
  4. UILabel常用属性
  5. CSS浮动(float)属性学习经验分享
  6. 分析log及校准学习总结
  7. 利用Hook技术实现键盘监控
  8. DCFramework 动态分布式计算框架(01)-- 基础结构
  9. 华为软件java笔试_华为软件笔试题4.10
  10. 数列分块入门 5(LibreOj-6281)