首页 > php教程 > php手册 > 正文

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

WBOY
发布: 2016-06-13 08:54:18
原创
967 人浏览过

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>
登录后复制

 

 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!