上個月幫一個Discuz 論壇將網站程序更新到Discuz! X3.2 Release 20151208,升級過程一切順利,原本該論壇最近也出現一些程序上的bugs,在更新補丁後都解決了。
只是過了快一個月才發現,原來會員個人頁面的css檔發生路徑讀取錯誤,整個頁頭都跑位了!
例如下圖,是以DisxuzX3.2預設的個人主頁風格,正確模板的導航欄位,各連接之間應該都會有空隙,可以很清楚的隔開。但出現bugs之後,導航欄都堆在右上角,連接之間的空隙變少,而且連接顏色和背景顏色幾乎一模一樣。
在看看下方這個經過更改的模板,原本主頁上方應該是有顯示底圖,出現bugs之後的則完全不見了。
由於工作忙碌,所以拖了一週才有時間回來檢查該論壇的問題出在哪裡?
Bugs!
打開出錯的個人頁面原始碼,在<head>與</head>之間可以看到下方的代碼:
<link rel=”stylesheet” type=”text/css” href=”data/cache/style_data/cache/style_4_css_space.css?zBi” />
注意,上方代碼中標出紅色部份,就是多出的錯誤碼,導致頁面擷取不到正確的css檔,正確的應該是這樣:
<link rel=”stylesheet” type=”text/css” href=”data/cache/style_4_css_space.css?zBi” />
當然代碼後面的『?zBi』會有不一樣,但前面代碼部份則是一樣的。
修正方法:
1. 首先,打開 template/風格/home/space_header.htm 文件。其中所謂的『風格』是指整個DiscuzX的風格,不是指個人首頁自己設定的風格。
2. 搜尋以下代碼,一般位置約在第四、五行:
<link rel=”stylesheet” type=”text/css” href=”{$_G[setting][csspath]}data/cache/style_{STYLEID}_css_space.css?{VERHASH}” />
替換成以下代碼:
<link rel=”stylesheet” type=”text/css” href=”{$_G[setting][csspath]}{STYLEID}_css_space.css?{VERHASH}” />
3. 繼續搜尋以下代碼,約第十四、五行。
<link rel=”stylesheet” type=”text/css” href=”{$_G[setting][csspath]}data/cache/style_{STYLEID}_css_diy.css?{VERHASH}” />
替換成以下代碼::
<link rel=”stylesheet” type=”text/css” href=”{$_G[setting][csspath]}{STYLEID}_css_diy.css?{VERHASH}” />
6. 登錄管理員後台,更新緩存,就修改完成了。