程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHPCMS搭建wap手機網站,phpcms搭建wap

PHPCMS搭建wap手機網站,phpcms搭建wap

編輯:關於PHP編程

PHPCMS搭建wap手機網站,phpcms搭建wap


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的文件夾

然後修改
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']}">

 畢竟手機端的欄目不是很多



 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved