使用PHPCMS搭建wap手机网站


Posted in PHP onSeptember 20, 2015

下面给大家讲使用PHPCMS搭建wap手机网站的方法,具体内容请看下文。

首先在phpcms/libs/functions/extention.func.php里面写入判断手机访问的自定义函数

<?php
/**
 * extention.func.php 用户自定义函数库
 *
 * @copyright   (C) 2005-2010 PHPCMS
 * @license    
 * @lastmodify   2010-10-27
 */
//判断是否手机访问
function check_wap()
{
 if (isset($_SERVER['HTTP_VIA'])) return true;
 if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true;
 if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true;
 if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML") > 0) {
  // Check whether the browser/gateway says it accepts WML.
  $br = "WML";
 } else {
  $browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : '';
  if (empty($browser)) return true;
  $clientkeywords = array(
   'nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-'
  , 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu',
   'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini',
   'operamobi', 'opera mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'
  );
  if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", $browser) && strpos($browser, 'ipad') === false) {
   $br = "WML";
  } else {
   $br = "HTML";
  }
 }
 if ($br == "WML") {
  return TRUE;
 } else {
  return FALSE;
 }
}
?>

然后在phpcms/templates/default模版文件夹里建立一个文件夹存放手机站的模版

我建立一个叫mobile的文件夹

然后修改
phpcms/templates/modules/content/index.php文件

麻烦点,分别在频道页,列表页,内容页加载模版时进行判断
比如:

 if (check_wap()) {
    include template('mobile', $template);
   } else {
    include template('content', $template);
   }

这样当用手机访问时会加载mobile文件夹里面的模版,mobile文件夹里面的模版名字要跟PC端的一样。
当然,在生成静态页面时会出现问题,目前解决的办法是手机端用动态,
调用数据时可以这样

<a href="index.php?m=content&c=index&a=show&catid=25&id={$r['id']}">

毕竟手机端的栏目不是很多。

关于使用PHPCMS搭建wap手机网站的全部内容就介绍完了,需要了解有关phpcms知识的,请持续关注本站,同时欢迎各位朋友

PHP 相关文章推荐
最令PHP初学者头痛的十四个问题
Jul 12 PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 #PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 #PHP
如何使用PHP对网站验证码进行破解
Sep 17 #PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 #PHP
PHP 9 大缓存技术总结
Sep 17 #PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 #PHP
php生成静态html页面的方法(2种方法)
Sep 14 #PHP
You might like
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
PHP中的正规表达式(二)
2006/10/09 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP单例模式详细介绍
2015/07/01 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
python实现马耳可夫链算法实例分析
2015/05/20 Python
深入解析Python中的线程同步方法
2016/06/14 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
深入理解Django中内置的用户认证
2017/10/06 Python
import的本质解析
2017/10/30 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
numpy库reshape用法详解
2020/04/19 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
运动会通讯稿500字
2014/02/20 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
用golang如何替换某个文件中的字符串
2021/04/25 Golang
Nginx反向代理学习实例教程
2021/10/24 Servers
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL