phpcms制作手机端页面,首页静态化

本文介绍如何使用PHPCMS配置手机端站点,实现首页静态化,其他页面动态展示。通过添加单页栏目、JS判断及自定义函数等步骤完成。

phpcms制作手机端

– phpcms是一个内容管理系统框架,适合制作博客系统,官网之类的内容管理网站,但是自带的手机端模块并不怎么好用,这就需要我们进行配置,达到我们需要的效果

– 我使用的这种方法可以达到手机端首页静态化,其他内容页面需要动态访问,暂时未找到手机每个页面静态化的方法


第一步:制作手机端首页

– 在后台添加一个单页栏目,设置为手机端页面首页。使用cms生成静态页面。

– 在网站首页添加js判断手机端访问的判断,使手机端访问时,自动跳转到静态手机端首页。

– 网站首页头部,js判断手机端代码:

js判断手机端代码

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 ){
        window.location.href = 手机端页面地址;
    }
}

– 这样就可以跳转到静态手机端首页,下面我们设置其他页面使用动态展示


第二步:修改加载模板文件配置

– 首先在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手机端页面的调用,暂时手机端首页静态,其他页面都要动态展示,如果内容页过多,或者访问过多,就需要研究phpcms自带的手机端模块,进行设置。一般网站来说,基本够用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值