现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://www.你的域名/,而手机版的域名一般为http://m.你的域名/

找到并打开根目录 caches/configs/route.php

添加

return array(
'default'=>array('m'=>'content', 'c'=>'index', 'a'=>'init'),
'm.0317cn.net'=>array('m'=>'wap', 'c'=>'index', 'a'=>'init'),
);

这样就需要我们给手机端另外做一套模板,实现网站双模板。下面是具体方法:

首先给phpcms添加自适配的代码,找到并打开/modules/content/index.php文件,在里面找到如下代码:

1 include template('content',$template);

将其修改为如下代码:

1 if(substr($_SERVER['SERVER_NAME'], 0,1) == 'm'){
2  include template('wap',$template);
3  }else{
4  include template('content',$template);
5  }

如果不想手动修改,可以直接使用我们已经修改好的文件下载覆盖就可以了,下载地址如下:

http://pan.baidu.com/s/1c02nT1Q

以上代码的意思是当前页面url中第一个字符为m时则调用content_m模板,否则调用content模板

但是由于phpcms把文章的url都固定写死在数据表中,所以页面中的标签不能在使用{$r[url]}

而要改成{str_replace('http://www.','http://m.',$r[url])}

意思是截取url,把http://www.你的域名/ 替换成http://m.你的域名/

这里我们就完成了手机版的设置了,然后我们在制作一套手机端模板content_m就可以了。

如果我们要在PC端的内容里面加上当前页面手机端的链接,链接地址写法如下:

1 http://{str_replace('www.','m.',$_SERVER['SERVER_NAME'])}{$_SERVER['REQUEST_URI']}

反之,手机端加上PC端的链接:

1 http://{str_replace('m.','www.',$_SERVER['SERVER_NAME'])}{$_SERVER['REQUEST_URI']}

如果你使用的是静态页面,那么只要在模板页头加上以下JS代码就可以实现判断手机端自动跳转到手机端了。

<script type="text/javascript">function browserRedirect() {var sUserAgent = navigator.userAgent.toLowerCase();var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";var bIsMidp = sUserAgent.match(/midp/i) == "midp";var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";var bIsAndroid = sUserAgent.match(/android/i) == "android";var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {{if $catid=='' and $id==''}window.location.href="{APP_PATH}/index.php";{elseif $id=='' and $catid!=''}window.location.href="{APP_PATH}/index.php?m=content&c=index&a=lists&catid={$catid}";{else}window.location.href="{APP_PATH}/index.php?m=content&c=index&a=show&catid={$catid}&id={$id}";{/if}}}browserRedirect();function closewindow() {$("#register-box").hide();}function openwindow() {$("#register-box").show();}</script>

phpcms 双模板模式相关推荐

  1. phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法

    现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...

  2. phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法与详细教程

    现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...

  3. phpcms v9电脑pc站+手机wap移动端双模板共用数据库数据同步可同步生成静态文件

    phpcms v9电脑pc站+手机wap移动端双模板共用数据库数据同步可同步生成静态文件,并且电脑站和手机站网址页面一一对应,非插件,程序二次开发版. 详情如下: 1.phpcms v9电脑版+手机版 ...

  4. latex换页_备忘 | Latex 双栏模式下表格太长怎么办?

    " Latex 双栏模式下表格太长怎么办?这一条够简单!" 点击 Latex 双栏模式下表格太长怎么办? 作 者:marsggbo出 处:https://www.cnblogs.c ...

  5. phpcmsv9实现手机端与PC端双模板的方法与详细教程(转)

    现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...

  6. 华为p9总是显示切换服务器中,原来华为手机是有双系统模式的,保护个人隐私,一部手机相互切换!...

    原标题:原来华为手机是有双系统模式的,保护个人隐私,一部手机相互切换! 在生活中我们都会比较注意自己的隐私,尤其是手机中的一些个人消息照片等,所以我们轻易不会将手机借给他人,但是也不妨有例外的时候,想 ...

  7. 设计模式-模板模式及应用

    一般生活中我们办理一件事需要一套指定的流水线.例如银行办事,需要先去营业厅取号.排队.办理业务.综合评分.这一套固有的流程,取号.排队.综合评分等都是固定的,不同的客户会办理不同的业务,只有这块是没个 ...

  8. OpenResty+Keepalived组建高可用集群+双主模式

    * 环境: system version:CentOS Linux release 7.5.1804 (Core) 3.10.0-862.9.1.el7.x86_64 nginx version:op ...

  9. 模板模式(TemplateMethod)和策略(StrategyMethod)模式

    2019独角兽企业重金招聘Python工程师标准>>> 模板模式和 策略模式使用场景类似,都是把算法进行封装,可以用分离高层算法和低层的具体实现细节.都允许高层算法独立于他的具体实现 ...

最新文章

  1. 在CRM定制中常用的Javascript
  2. 51nod 1536不一样的猜数游戏 思路:O(n)素数筛选法。同Codeforces 576A Vasya and Petya‘s Game。
  3. linux宝塔类似工具,有没有比宝塔面板更好的linux运维工具?
  4. python获取某文件路径_Python获取当前文件路径
  5. java 反射 泛型 构造函数_Java复习——反射和泛型的复习
  6. 减去字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)
  7. 知名应用背后的第三方开源项目
  8. UIButton 文字图片排列
  9. 微信小程序开发(后端 Java)
  10. 小程序嵌入h5并传值
  11. STKX组件技术在星地链路中的仿真模式研究
  12. BP(BackPropagation)神经网络算法详解
  13. CAD 绘图如何有效的控制精度?
  14. Java中的XML解析
  15. [从零开始unity3D]“五子连珠”游戏实现,网格数组的创建(1)
  16. Python基础知识入门PartII
  17. perp系列之八:其它
  18. 微信小程序之数独挑战九宫格
  19. 计算机学院元旦晚会主题名称,计算机学院形式多样精彩纷呈的元旦联欢晚会
  20. qt将html加载到资源文件,web页面嵌入到Qt

热门文章

  1. SQL注入漏洞-绕过
  2. php cms 通用后台下载
  3. 版纳回来后的情绪低落
  4. 丘成桐全职加入清华,清华已聚齐诺贝尔奖、图灵奖、菲尔兹奖三个“首位华人得主”...
  5. HTML+CSS简单应用实例——购物网站的制作(七)
  6. heatmap.js 使用文档
  7. Java项目:演唱会售票管理系统(java+SSM+JSP+JavaScript+jQuery+mysql)
  8. 查询每个学生的各科成绩sql语句
  9. 空气净化器的过滤网能够清洗吗?怎样清洗?
  10. 南京彭宇案后,我们该怎么样救人?(看一个救人日记,超强!)