同URL显示需要操作3步:

1、在扩展函数里写设备判断函数checkmobile():

\phpcms\libs\functions\extention.func.php

/***extention.func.php用户自定义函数库**@copyright(C)2005-2010PHPCMS*@licensehttp://www.phpcms.cn/license/*@lastmodify2010-10-27***根据php的$_SERVER['HTTP_USER_AGENT']中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端*@authordiscuz3x*@lastmodify2014-04-09*@returnBOOL*/functioncheckmobile(){global$_G;$mobile=array();//各个触控浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组static$touchbrowser_list=array('iphone','android','phone','mobile','wap','netfront','java','operamobi','operamini','ucweb','windowsce','symbian','series','webos','sony','blackberry','dopod','nokia','samsung','palmsource','xda','pieplus','meizu','midp','cldc','motorola','foma','docomo','up.browser','up.link','blazer','helio','hosin','huawei','novarra','coolpad','webos','techfaith','palmsource','alcatel','amoi','ktouch','nexian','ericsson','philips','sagem','wellcom','bunjalloo','maui','smartphone','iemobile','spice','bird','zte-','longcos','pantech','gionee','portalmmm','jigbrowser','hiptop','benq','haier','^lct','320x320','240x320','176x220');//window手机浏览器数组【猜的】static$mobilebrowser_list=array('windowsphone');//wap浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组static$wmlbrowser_list=array('cect','compal','ctl','lg','nec','tcl','alcatel','ericsson','bird','daxian','dbtel','eastcom','pantech','dopod','philips','haier','konka','kejian','lenovo','benq','mot','soutec','nokia','sagem','sgh','sed','capitel','panasonic','sonyericsson','sharp','amoi','panda','zte');$pad_list=array('pad','gt-p1000');$useragent=strtolower($_SERVER['HTTP_USER_AGENT']);if(dstrpos($useragent,$pad_list)){returnfalse;}if(($v=dstrpos($useragent,$mobilebrowser_list,true))){$_G['mobile']=$v;return'1';}if(($v=dstrpos($useragent,$touchbrowser_list,true))){$_G['mobile']=$v;return'2';}if(($v=dstrpos($useragent,$wmlbrowser_list))){$_G['mobile']=$v;return'3';//wml版}$brower=array('mozilla','chrome','safari','opera','m3gate','winwap','openwave','myop');if(dstrpos($useragent,$brower))returnfalse;$_G['mobile']='unknown';//对于未知类型的浏览器,通过$_GET['mobile']参数来决定是否是手机浏览器if(isset($_G['mobiletpl'][$_GET['mobile']])){returntrue;}else{returnfalse;}}/***判断$arr中元素字符串是否有出现在$string中*@param$string$_SERVER['HTTP_USER_AGENT']*@param$arr各中浏览器$_SERVER['HTTP_USER_AGENT']中必定会包含的字符串*@param$returnvalue返回浏览器名称还是返回布尔值,true为返回浏览器名称,false为返回布尔值【默认】*@authordiscuz3x*@lastmodify2014-04-09*/functiondstrpos($string,$arr,$returnvalue=false){if(empty($string))returnfalse;foreach((array)$arras$v){if(strpos($string,$v)!==false){$return=$returnvalue?$v:true;return$return;}}returnfalse;}

2、修改模块负责解析的函数

以content模块为例:

修改 \phpcms\modules\content\index.php

修改template函数参数,增加判断;

if(checkmobile()){includetemplate('mobile','index',$default_style);}else{includetemplate('content','index',$default_style);}

3、设置手机版的模板,根据模板解析函数的设置参数,需要在模板文件夹下创建mobile文件夹,并在mobile文件夹中编写手机版的模板即可