搜狗

百度

搜狗

360

搜狗

谷歌

搜狗
查看: 4259|回覆: 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

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