Home >Backend Development >PHP Tutorial >PHPCMS builds wap mobile website

PHPCMS builds wap mobile website

WBOY
WBOYOriginal
2016-07-29 09:15:10924browse

PHPCMS is more convenient to build PC-side websites, but it is not very practical when it comes to WAP mobile phones. Moreover, the built-in mobile website building is not very good, and the template is difficult to control. Now I modify it, and I personally feel that mobile website building is more convenient

First, write the custom function to determine mobile phone access in phpcms/libs/functions/extention.func.php

<?<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']}">

After all, there are not many columns on the mobile phone

<span><br></span>

The above introduces PHPCMS to build a wap mobile website, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn