phpCMS搭建PC端網站比較方便,但是在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的文件夾
立即學習“PHP免費學習筆記(深入)”;
然后修改
phpcms/templates/modules/content/index.php文件
麻煩點,分別在頻道頁,列表頁,內容頁加載模版時進行判斷
比如:
if?(check_wap())?{ ????include?template('mobile',?$template); }?else?{ ????include?template('content',?$template); }
這樣當用手機訪問時會加載mobile文件夾里面的模版,mobile文件夾里面的模版名字要跟PC端的一樣。
當然,在生成靜態頁面時會出現問題,目前解決的辦法是手機端用動態,
調用數據時可以這樣
?1<a></a>
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦