使用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也可以?成Shell Script
Oct 09 PHP
为php4加入动态flash文件的生成的支持
Oct 09 PHP
php中用数组的方法设置cookies
Apr 21 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php实现加减法验证码代码
Feb 14 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
PHP处理CSV表格文件的常用操作方法总结
Jul 01 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
PHP number_format函数原理及实例解析
Jul 14 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
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
js实现简单点赞操作
2020/03/17 Javascript
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python模拟登陆实现代码
2017/06/14 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
就业自荐信
2013/12/04 职场文书
爱情保证书范文
2014/02/01 职场文书
预备党员转正考核材料
2014/06/03 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL