phpCMS搭建PC端网站比较方便,但是在wap手机端方面却不怎么实用,而且自带的手机建站感觉不是很好,而且模版不好控制,现在对其进行修改,手机建站个人感觉比较方便
首先在phpcms/libs/functions/extention.func.php里面写入判断手机访问的自定义函数
<?php/**
* extention.func.php 用户自定义函数库
*
* @copyright (C) 2005-2010 PHPCMS
* @license
* @lastmodify 2010-10-27*///判断是否手机访问functioncheck_wap()
{if(isset($_SERVER['HTTP_VIA']))returntrue;if(isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE']))returntrue;if(isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))returntrue;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))returntrue;$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") {returnTRUE;
}else{returnFALSE;
}
}?>
然后在phpcms/templates/default模版文件夹里建立一个文件夹存放手机站的模版
我建立一个叫mobile的文件夹
然后修改
phpcms/templates/modules/content/index.php文件
麻烦点,分别在频道页,列表页,内容页加载模版时进行判断
比如:
if(check_wap()) {includetemplate('mobile',$template);
}else{includetemplate('content',$template);
}
这样当用手机访问时会加载mobile文件夹里面的模版,mobile文件夹里面的模版名字要跟PC端的一样。
当然,在生成静态页面时会出现问题,目前解决的办法是手机端用动态,
调用数据时可以这样
<a href="index.php?m=content&c=index&a=show&catid=25&id={$r['id']}">
毕竟手机端的栏目不是很多