Dedehtml.com

织梦实现url不变电脑和手机显示不同模板

摘要:利用伪静态在php文件中判断用户是否在移动设备上浏览网站,加载不同模板文件显示不同效果,url地址不变

同一个URL地址,不同模板显示效果

利用伪静态在php文件中判断用户是否在移动设备上浏览网站,加载不同模板文件显示不同效果,url地址不变

实现教程

1、首先全站伪静态,参考《织梦电脑站手机站伪静态+全套伪静态规则-自由目录版

只需要电脑站是伪静态就行了,其他伪静态教程也行,只要电脑站是伪静态就行了

2、打开 /include/extend.func.php 在最下面加入一个方法

/**
 * 判断是否为移动设备访问
 * @return bool
 */
function isMobile()
{
    if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
        return true;
    }
    if (isset($_SERVER['HTTP_VIA'])) {
        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'])) {
        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'textml') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'textml')))) {
            return true;
        }
    }
    return false;
}

3、打开 /index.php 网站根目录的 index.php ,找到

$row['templet'] = MfTemplet($row['templet']);

在它上面加入

if(isMobile()){
	$row['templet'] =str_replace('.htm','_m.htm',$row['templet']);
}

4、打开 /tags.php 网站根目录的 tags.php ,找到

require_once (dirname(__FILE__) . "/include/common.inc.php");

在它下面加入

if(isMobile()){
	define('DEDEMOB', 'Y');
}

5、打开 /plus/list.php 找到

require_once(dirname(__FILE__)."/../include/common.inc.php");

在它下面加入

if(isMobile()){
	define('DEDEMOB', 'Y');
}

6、打开 /plus/view.php 找到

require_once(dirname(__FILE__)."/../include/common.inc.php");

在它下面加入

if(isMobile()){
	define('DEDEMOB', 'Y');
}

7、打开 /plus/search.php 找到

require_once(dirname(__FILE__)."/../include/common.inc.php");

在它下面加入

if(isMobile()){
	define('DEDEMOB', 'Y');
}

8、如果你的电脑站模板里有跳转到手机站的跳转代码,记得删除所有跳转代码

9、电脑站模板文件和手机站模板文件还是按原来的命名

10、注意手机站模板的css js images 图片这些,防止在移动设备上打开网站时找不到这些文件

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/dede-ismobile.html
(12)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏