Discuz X 系統的 DIY 功能,是一個很強大的功能。方便了很多不會 div+css 的站長。可以使用 DIY 很方便很快捷的,套出一套自己設計的網站模板樣式出來。但要想用 DIY 功能,對於一些對網站最佳化比較看重的站長來說,無疑是個心病。

使用 DIY 功能製作出來的網站,頁面會載入相當多的 CSS 樣式表,更讓人頭痛的是,每一個 DIY 模組,都會巢狀至少 4 層以上的 DIV 層。

對於一些自己設計好 Discuz X 模板的站長來說,實在讓人糾結!因為自己已經設計好了 DIV+CSS 。而系統自帶的那些 DIV 層和 CSS 樣式表,就成了多餘。不僅不利於網站 SEO, 而且頁面也因為那些冗餘程式碼而變的臃腫!頁面載入速度變慢!

經過一番研究,發現要想在 DIY 中去除 DIV 層是不可能的!只有在後臺的資料呼叫中去除!修改方法如下:

開啟 source/function/function_block.php
把 DIV 程式碼註釋掉
找到以下程式碼
$str .= "

";*/
if($block['title']) $str .= $block['title'];
$str .= '

';*/
if($block['summary']) {
$block['summary'] = stripslashes($block['summary']);
$str .= "

$block[summary]

";
}
$str .= block_template($bid);
$str .= '

';*/
$str .= "

";*/

替換成
/*    $str .= "

";*/
if($block['title']) $str .= $block['title'];
/*        $str .= '

';*/
if($block['summary']) {
$block['summary'] = stripslashes($block['summary']);
$str .= "$block[summary]";
}
$str .= block_template($bid);
/*    $str .= '

';*/
/*    $str .= "

";*/

然後在後臺設定好資料呼叫後,把相關程式碼放到首頁中進行呼叫。這樣,呼叫出來的資料就不會有多餘的 DIV 層,直接呼叫資料內容。本站也就是透過此方法進行最佳化設定的。檢視原始檔,你就明白了!

希望 discuz 能在這方面多考慮一下,網站最佳化也是很重要的!
為什麼那麼多專業的大站都選擇 phpwind, 而多數小中型網站都選擇 Discuz X 。我想原因也在此吧!