当前位置:首页 > 技术笔记 > 正文内容

TWCMS通过模板设置手机端和PC端显示不同内容

2024年02月05日技术笔记

  实现TWCMS手机端和PC端显示不同内容的方法有好多种,今天介绍一种简单、小白式的处理方法,首先找到/twcms/kongphp/base/base.func.php文件最后一行下面增加移动端判断

function isMobile()
{    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {        return true;
    }    // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
    if (isset ($_SERVER['HTTP_VIA']))
    {        // 找不到为flase,否则为true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    }    // 脑残法,判断手机发送的客户端标志,兼容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT']))
    {
        $clientkeywords = array ('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',                'openwave',                'nexusone',                'cldc',                'midp',                'wap',                'mobile'
        );        
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
        {            return true;
        }
    }    // 协议法,因为有可能不准确,放到最后判断
    if (isset ($_SERVER['HTTP_ACCEPT']))
    {        // 如果只支持wml并且不支持html那一定是移动设备
        // 如果支持wml和html但是wml在html之前则是移动设备
        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
        {            return true;
        }
    }    return false;
}

在需要分别显示手机和PC内容的模板文件进行判断

{if:isMobile()}  显示手机内容 {else} 显示非手机内容 {/if}


免责声明:本站所发布信息部分整理自互联网具有公开性、共享性的信息,发布此信息旨在传播更多信息之目的,不代表本网站立场,转载请联系原作者并注明出处,如果侵犯了您的权益请与我们联系;本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,无法保证有效性,真实性需自行辨别,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容;如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务,我们非常重视版权问题,如有侵权请邮件与我们联系处理,我们将在24小时内更正、删除。E-mail:admin@bsfc.net

“TWCMS通过模板设置手机端和PC端显示不同内容” 的相关文章