首頁  >  文章  >  CMS教程  >  phpcms怎麼做手機站

phpcms怎麼做手機站

尚
原創
2019-10-30 17:38:594074瀏覽

phpcms怎麼做手機站

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[&#39;HTTP_VIA&#39;])) return true;
    if (isset($_SERVER[&#39;HTTP_X_NOKIA_CONNECTION_MODE&#39;])) return true;
    if (isset($_SERVER[&#39;HTTP_X_UP_CALLING_LINE_ID&#39;])) return true;
    if (strpos(strtoupper($_SERVER[&#39;HTTP_ACCEPT&#39;]), "VND.WAP.WML") > 0) {
        // Check whether the browser/gateway says it accepts WML.
        $br = "WML";
    } else {
        $browser = isset($_SERVER[&#39;HTTP_USER_AGENT&#39;]) ? trim($_SERVER[&#39;HTTP_USER_AGENT&#39;]) : &#39;&#39;;
        if (empty($browser)) return true;
        $clientkeywords = array(
            &#39;nokia&#39;, &#39;sony&#39;, &#39;ericsson&#39;, &#39;mot&#39;, &#39;samsung&#39;, &#39;htc&#39;, &#39;sgh&#39;, &#39;lg&#39;, &#39;sharp&#39;, &#39;sie-&#39;
        , &#39;philips&#39;, &#39;panasonic&#39;, &#39;alcatel&#39;, &#39;lenovo&#39;, &#39;iphone&#39;, &#39;ipod&#39;, &#39;blackberry&#39;, &#39;meizu&#39;,
            &#39;android&#39;, &#39;netfront&#39;, &#39;symbian&#39;, &#39;ucweb&#39;, &#39;windowsce&#39;, &#39;palm&#39;, &#39;operamini&#39;,
            &#39;operamobi&#39;, &#39;opera mobi&#39;, &#39;openwave&#39;, &#39;nexusone&#39;, &#39;cldc&#39;, &#39;midp&#39;, &#39;wap&#39;, &#39;mobile&#39;
        );
        if (preg_match("/(" . implode(&#39;|&#39;, $clientkeywords) . ")/i", $browser) && strpos($browser, &#39;ipad&#39;) === 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(&#39;mobile&#39;, $template);
} else {
    include template(&#39;content&#39;, $template);
}

這樣當用手機存取時會載入mobile資料夾裡面的模版,mobile資料夾裡面的模版名字要跟PC端的一樣。

當然,在產生靜態頁面時會出現問題,目前解決的辦法是手機端用動態,

#呼叫資料時可以這樣

?1<a href="index.php?m=content&c=index&a=show&catid=25&id={$r[&#39;id&#39;]}">

以上是phpcms怎麼做手機站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn