Heim  >  Artikel  >  Backend-Entwicklung  >  PHPCMS erstellt eine mobile WAP-Website

PHPCMS erstellt eine mobile WAP-Website

WBOY
WBOYOriginal
2016-07-29 09:15:10903Durchsuche

PHPCMS ist bequemer zum Erstellen von PC-seitigen Websites, aber für WAP-Mobiltelefone ist es nicht sehr praktisch. Darüber hinaus fühlt sich die integrierte Website-Erstellung für Mobilgeräte nicht sehr gut an und die Vorlage ist schwer zu steuern . Jetzt ändere ich es besser.

Schreiben Sie zuerst die benutzerdefinierte Funktion, um den Zugriff auf Mobiltelefone in phpcms/libs/functions/extention.func.php zu bestimmen

<?<span>php
</span><span>/*</span><span>*
 *  extention.func.php 用户自定义函数库
 *
 * @copyright            (C) 2005-2010 PHPCMS
 * @license                
 * @lastmodify            2010-10-27
 </span><span>*/</span><span>//</span><span>判断是否手机访问</span><span>function</span><span> check_wap()
{
   
    </span><span>if</span> (<span>isset</span>(<span>$_SERVER</span>['HTTP_VIA'])) <span>return</span><span>true</span><span>;
    </span><span>if</span> (<span>isset</span>(<span>$_SERVER</span>['HTTP_X_NOKIA_CONNECTION_MODE'])) <span>return</span><span>true</span><span>;
    </span><span>if</span> (<span>isset</span>(<span>$_SERVER</span>['HTTP_X_UP_CALLING_LINE_ID'])) <span>return</span><span>true</span><span>;
    </span><span>if</span> (<span>strpos</span>(<span>strtoupper</span>(<span>$_SERVER</span>['HTTP_ACCEPT']), "VND.WAP.WML") > 0<span>) {
        </span><span>//</span><span> Check whether the browser/gateway says it accepts WML.</span><span>$br</span> = "WML"<span>;
    } </span><span>else</span><span> {
        </span><span>$browser</span> = <span>isset</span>(<span>$_SERVER</span>['HTTP_USER_AGENT']) ? <span>trim</span>(<span>$_SERVER</span>['HTTP_USER_AGENT']) : ''<span>;
        </span><span>if</span> (<span>empty</span>(<span>$browser</span>)) <span>return</span><span>true</span><span>;
        </span><span>$clientkeywords</span> = <span>array</span><span>(
            </span>'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'<span>        );
        </span><span>if</span> (<span>preg_match</span>("/(" . <span>implode</span>('|', <span>$clientkeywords</span>) . ")/i", <span>$browser</span>) && <span>strpos</span>(<span>$browser</span>, 'ipad') === <span>false</span><span>) {
            </span><span>$br</span> = "WML"<span>;
        } </span><span>else</span><span> {
            </span><span>$br</span> = "HTML"<span>;
        }
    }
    </span><span>if</span> (<span>$br</span> == "WML"<span>) {
        </span><span>return</span><span>TRUE</span><span>;
    } </span><span>else</span><span> {
        </span><span>return</span><span>FALSE</span><span>;
    }
}


</span>?><br>然后在phpcms/templates/default模版文件夹里建立一个文件夹存放手机站的模版<br>我建立一个叫mobile的文件夹<br>然后修改
phpcms/templates/modules/content/index.php文件<br>麻烦点,分别在频道页,列表页,内容页加载模版时进行判断<br>比如:

<span>if</span><span> (check_wap()) {
                </span><span><strong>include</strong></span> template('mobile', <span>$template</span><span>);
            } </span><span>else</span><span> {</span><span><strong>include</strong></span> template('content', <span>$template</span><span>);
            }<br>这样当用手机访问时会加载mobile文件夹里面的模版,mobile文件夹里面的模版名字要跟PC端的一样。<br>当然,在生成静态页面时会出现问题,目前解决的办法是手机端用动态,<br>调用数据时可以这样</span>

<a href="index.php?m=content&c=index&a=show&catid=25&id={$r['id']}">
 Schließlich gibt es in der mobilen Version nicht viele Spalten

<span><br></span>
Das Obige stellt PHPCMS zum Erstellen einer mobilen WAP-Website vor, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn