Home  >  Article  >  php教程  >  PHPCMS搭建wap手机网站,phpcms搭建wap

PHPCMS搭建wap手机网站,phpcms搭建wap

WBOY
WBOYOriginal
2016-06-13 08:54:18967browse

PHPCMS搭建wap手机网站,phpcms搭建wap

PHPCMS搭建PC端网站比较方便,但是在wap手机端方面却不怎么实用,而且自带的手机建站感觉不是很好,而且模版不好控制,现在对其进行修改,手机建站个人感觉比较方便

首先在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 /><br /><br />然后在phpcms/templates/default模版文件夹里建立一个文件夹存放手机站的模版<br />我建立一个叫mobile的文件夹<br /><br />然后修改
phpcms/templates/modules/content/index.php文件<br /><br />麻烦点,分别在频道页,列表页,内容页加载模版时进行判断<br />比如:
        <span>if</span><span> (check_wap()) {
                </span><span>include</span> template('mobile', <span>$template</span><span>);
            } </span><span>else</span><span> {</span>
                <span>include</span> template('content', <span>$template</span><span>);
            }<br />这样当用手机访问时会加载mobile文件夹里面的模版,mobile文件夹里面的模版名字要跟PC端的一样。<br /><br />当然,在生成静态页面时会出现问题,目前解决的办法是手机端用动态,<br />调用数据时可以这样</span>
<a href="index.php?m=content&c=index&a=show&catid=25&id={$r['id']}">

 毕竟手机端的栏目不是很多

<span><br /><br /></span>

 

 

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