首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHPCMS 搭建 WAP 手機網站教程

     編輯:PHP 相關知識

PHPCMS 搭建 WAP 手機網站教程

PHPCMS 雖然搭建 PC 端網站相當方便,但內建的手機站功能較弱,模板控制不靈活。本文記錄如何通過自定義函數判斷移動端訪問,並動態切換模板目錄,實現獨立的手機站體驗。

第一步:新增移動端判斷函數

編輯 phpcms/libs/functions/extention.func.php,加入 check_wap() 函數,根據 HTTP_USER_AGENT 等頭部信息判斷是否為手機瀏覽器:

<?php
// 判斷是否手機訪問
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) {
        $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";
        }
    }
    return $br == "WML";
}
?>

第二步:建立手機模板目錄

在 phpcms/templates/default/ 下建立 mobile 資料夾,存放手機版模板文件,檔名需與 PC 端對應模板一致(如 index.html、list.html、show.html)。

第三步:修改模板加載邏輯

編輯 phpcms/templates/modules/content/index.php,在頻道頁、列表頁、內容頁加載模板處加入判斷:

if (check_wap()) {
    include template('mobile', $template);
} else {
    include template('content', $template);
}

注意事項

  • 靜態頁生成可能衝突,建議手機端採用動態瀏覽模式。
  • 鏈接地址需指向動態腳本,例如:<a href="index.php?m=content&c=index&a=show&catid=25&id={$r['id']}">
  • 手機端欄目較少時,動態模式效能影響可忽略。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved