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

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

2022-07-11 19:43技术笔记41

温馨提示:微信搜索【逐梦IT】公众号,查看更多精彩信息,或者马上点击→【逐梦IT】微信扫码即可关注。

  实现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}

温馨提示:微信搜索【逐梦IT】公众号,查看更多精彩信息,或者马上点击→【逐梦IT】微信扫码即可关注。

关注-逐梦IT-微信公众号

版权声明:本站所发布信息部分整理自互联网具有公开性、共享性的信息,发布此信息旨在传播更多信息之目的,不代表本网站立场,转载请联系原作者并注明出处,如果侵犯了您的权益请与我们联系,我们将在24小时内更正、删除。

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

宝塔面板如何添加mysql进程守护

宝塔面板如何添加mysql进程守护

  宝塔面板添加MySQL进程守护脚本方法  宝塔面板后台,点击计划任务,然后添加一个Shell脚本。名字自选,执行周期按分钟执行,这里是设置的十分钟,脚本内容如下:pgrep -x mysqld &> /dev/null if [&...

PHP完美生成word文档,可加入html元素

PHP完美生成word文档,可加入html元素

  PHP生成word文档,网上有很多方法,有调用COM组件生成的,有安装PHP扩展生成的,也有引用第三方类库,如phpword生成的。以下为最简洁的两种方法,无须安装其他,只要你安装了php环境便可以直接生成。  php代码如下:<?php   header("Con...

ZBLOG后台文章管理增加文章浏览次数查看及排序

ZBLOG后台文章管理增加文章浏览次数查看及排序

  如果你想给zblog后台文章管理添加文章浏览总数查看, 并且加上浏览总数排序过滤, 很简单, 找到c_system_admin.php文件, 修改函数Admin_ArticleMng, 主要是增加一个checkbox, 在table里面增加一列浏览总数,对应数据库字段log_ViewNums,...

JS判断访客浏览器终端是手机还是电脑的方法

  最近发现很多网站在用这个功能,正好有一个项目需要用到这个东西,以前用的都是PHP版本的代码来判断的,正好今天看到一网站源码里的JS代码。收藏备用,感觉兴趣的朋友也可以收藏一下,js代码如下:        if&nb...

TWCMS怎样获取当前文章的分类名称

  代码如下:{block:list cid="2" limit="6" orderby="time" titlenum="28"} {php}$k=0;{/php} {loo...