搜狗

百度

搜狗

360

搜狗

谷歌

搜狗
查看: 3309|回復: 3

[其他] 完全取消discuz的手机端标准版(极简版),只保留触屏版

[複製鏈接]
已绑定手机
已实名认证
延章 發表於 2020-1-7 15:31 | 顯示全部樓層 |閱讀模式

本文采用的方法是目前为止,全网最简单快捷,真正根除discuz手机端标准版及极简版的方法,这是笔者摸索很长时间,思考的结果,知识付费时代,本文需要收取一支冰淇淋的费用,请谅解。

discuz的手机端设置了多个版本,有极简版、标准版、触屏版。

由于手机触屏是近年才普及,在2014年及以前,多数手机使用标准版才较为适合。但现在互联网的普及,特别是微信推动了智能手机的普及,现在的手机基本没有不支持触屏版的。

因此,应当取消discuz的极简版及标准版。

当前互联网上,关于取消极简版及标准版的教程,并不是普遍适合所有网站的,因为discuz默认的自带触屏版几乎只有论坛、群组页面,而门户及个人中心、标签、群组的许多页面都不存在,会提示『没有手机页面』。因此多数discuz网站的手机端,都是采用第三方手机模板的,而绝大多数网站的第三方手机模板只部署了触屏版,而标准版、极简版只能设置为默认的自带模板。

这种情况下,如果普遍采用互联网上的方法,只修改source/class/discuz/discuz_application.php的代码,是不够的:

'mobiletpl' => array('1' => 'mobile', '2' => 'touch', '3' => 'wml', 'yes' => 'touch'),

原因是,上面的设置,与discuz后台的模板设置:『界面』-『风格管理』-『手机标准版』(手机极简版),是异步的。如果我们将上面的代码修改为:

'mobiletpl' => array('1' => 'touch', '2' => 'touch', '3' => 'wml', 'yes' => 'touch'),

而『界面』-『风格管理』-『手机标准版』(手机极简版)依旧是设置为『默认模板套系』,那么,程序的执行结果就是用默认标准版(极简版)的模板路径,来显示第三方模板的触屏版,导致页面全部乱码。

正确的设置方法有两种,第一种方法是在第三方模板里,将标准版的设置、极简版的设置、触屏版的设置全部设置为触屏版,并在『界面』-『风格管理』-『第三方模板』里显示 出来,并供站长选择。

第二种方法,同样是修改source/class/discuz/discuz_application.php,但不是上面的代码。

这种方法的思路是:『界面』-『风格管理』-『默认模板』里既然选择了标准版及极简版,而『界面』-『风格管理』-『第三方模板』里的标准版及极简版不可选,那么,只能将后台设置的标准版及极简版跳转到触屏版。

在source/class/discuz/discuz_application.php里有这样一段代码:

if(!$mobile || $mobile == 'yes') {
$mobile = isset($mobile_) ? $mobile_ : 2;
}

该段代码是指,

購買主題 已有 11 人購買  支付 35 文钱币 給作者可瀏覽全文

小黑屋|举报|桂ICP备2022007496号-1桂公网安备 45010302003000桂公网安备 45010302003000

关于我们|网站地图|华韵国学网|国学经典

扫一扫微信:Chinulture|投稿:admin@chinulture.com

快速回復 返回頂部 返回列表