使用网站内容管理系统PHPCMS搭建wap手机网站

分类:CMS_SNS| 发布:佚名| 查看:286 | 发表时间:2015/12/23

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

01<?php
02/**
03 * extention.func.php 用户自定义函数库
04 *
05 * @copyright   (C) 2005-2010 PHPCMS
06 * @license   
07 * @lastmodify   2010-10-27
08 */
09//判断是否手机访问
10function check_wap()
11{
12 if (isset($_SERVER['HTTP_VIA'])) return true;
13 if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true;
14 if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true;
15 if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML") > 0) {
16  // Check whether the browser/gateway says it accepts WML.
17  $br = "WML";
18 } else {
19  $browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : '';
20  if (empty($browser)) return true;
21  $clientkeywords = array(
22   'nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-'
23  , 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu',
24   'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini',
25   'operamobi', 'opera mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'
26  );
27  if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", $browser) && strpos($browser, 'ipad') === false) {
28   $br = "WML";
29  } else {
30   $br = "HTML";
31  }
32 }
33 if ($br == "WML") {
34  return TRUE;
35 } else {
36  return FALSE;
37 }
38}
39?>

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

我建立一个叫mobile的文件夹

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

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

1  if (check_wap()) {
2 include template('mobile', $template);
3} else {
4 include template('content', $template);
5}

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

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

 

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

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/cms-sns/2217.html