帝国论坛帝国网站管理系统交流区帝国CMS 7.5与8.0专版技术贴:帝国8.0一定会有的:根据访问端自动读取不同的模板 【本版专题贴子】  
 1/5     1 2 3 4 5 ›› ›|
主题:技术贴:帝国8.0一定会有的:根据访问端自动读取不同的模板 [加入收藏夹]   

movi
用户头衔:进士

精华贴   :0
发贴数   :752
经验值   :2833
注册时间:2008-03-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
技术贴:帝国8.0一定会有的:根据访问端自动读取不同的模板
根据访问端自动读取不同的模板,同一链接,不同访问端显示不同的模板,可以丢开后台手机访问端设置,丢开m.***
理论7.5也可以设置尝鲜一下:
先导出pc访问端的以后模板,然后导入为手机端的一套模板,然后修改手机端模板,注意两套模板里的模板id要严格对应,
userfun.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'
            );
        // 从HTTP_USER_AGENT中查找手机浏览器的关键字
        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;
}

在需要使用模板的页面,如e/action/showinfo.php,增加
$isMobile=isMobile();
if($isMobile){
        $enewsnewstemp=GetTemptb("enewsnewstemp")."_2";
}else{
        $enewsnewstemp=GetTemptb("enewsnewstemp");
}
然后将下面的$newstemp_r改为
$newstemp_r=$empire->fetch1("select tempid,temptext,showdate from ".$enewsnewstemp." where tempid='$r[newstempid]'");




2021-12-19 20:52:18 已设置保密 顶部 回复 引用 报告 编辑 删除

movi
用户头衔:进士

精华贴   :0
发贴数   :752
经验值   :2833
注册时间:2008-03-25
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

以上设置不太完善,在不设置标签支持标签和不生成缓存是可以用的,
设置了调用标签和生成缓存后因为在e/data/tmp里生成模板文件和ecachefiles里生成缓存页无法使用,只能显示使用pc模板,
应该在使用标签函数DtNewsBq再增加一个判断访问端的参数,同时缓存设置那里也增加一个判断访问端的参数


上传以下图片:


[该贴被修改 1 次,最后修改时间 2021-12-19 21:04:20 ]



2021-12-19 20:59:09 已设置保密 顶部 回复 引用 报告 编辑 删除

movi
用户头衔:进士

精华贴   :0
发贴数   :752
经验值   :2833
注册时间:2008-03-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

1

上传以下图片:





2021-12-19 21:03:23 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4292
经验值   :11021
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持一下




2021-12-20 08:01:19 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :7138
经验值   :22250
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

要动态页面




2021-12-21 07:55:21 已设置保密 顶部 回复 引用 报告 编辑 删除

095hjg
用户头衔:进士

精华贴   :0
发贴数   :1537
经验值   :5907
注册时间:2009-10-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

老王才不用你这呢



网站建设/seo/推广/域名/服务器/400电话/企业邮箱/网站服务器托管 Q214973377
2021-12-21 17:42:32 已设置保密 顶部 回复 引用 报告 编辑 删除

movi
用户头衔:进士

精华贴   :0
发贴数   :752
经验值   :2833
注册时间:2008-03-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

用不用不知道,海洋有这个模板设置




2021-12-21 19:56:52 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4292
经验值   :11021
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持一下




2021-12-22 08:56:55 已设置保密 顶部 回复 引用 报告 编辑 删除

pingpong
用户头衔:探花

精华贴   :0
发贴数   :9573
经验值   :24965
注册时间:2008-11-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持一下




2021-12-23 08:00:16 已设置保密 顶部 回复 引用 报告 编辑 删除

pw8
用户头衔:探花

精华贴   :0
发贴数   :8877
经验值   :22891
注册时间:2008-10-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持下




2021-12-24 08:24:52 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/5     1 2 3 4 5 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1