在中國互聯(lián)網(wǎng)中,也許從業(yè)者無人不知道Disucz的大名,因為它確實一款非常優(yōu)秀的開源建 站軟件,也因此運行在國內(nèi)各個網(wǎng)站服務器之上。說到它大家可能最大的印象就是做社區(qū)論壇,其實從本質上講這塊產(chǎn)品包括了很多模塊,而我們最常用的BBS只 是其中的一部分而已,同樣的道理,門戶也是其中的模塊之一。
也許在國內(nèi)也有過很多優(yōu)秀的開源CMS建站系統(tǒng),但就是因為DZ聚合了很多個模塊,而且進行各個模塊的相互整合技術成本會很低,因此有不少的站 長想直接利用這個程序解決自己所有問題,即全部用這套程序搭建問題。但就在這個時候,大家可能都有所感受,其實DZ的精髓還是在于它的論壇部分,而其他的 模塊就是不痛不癢了,特別是門戶部分甚至在其官方?jīng)]有確切的入口。因此,大家也知道默認的門戶模板是很久都沒有更新的,而且默認的確實有點上不了臺面;比 如今天就跟大家說說門戶的列表頁吧,我就通過我之前做的一個實例來分享下改造過程吧,實現(xiàn)后就是下面的樣子,接下來我就講解下基本的思路吧。
第一,設計好樣式并不書寫好HTML和CSS,當然這也是最簡單的一部分。這一點我相信只要懂做網(wǎng)站的朋友都會,甚至可以直接copy那些比較 優(yōu)秀網(wǎng)站的前端代碼,也就是大家所謂的仿站中的一部分。當然我建議還是自己設計出版式來,這樣更具個性,而且是你想做成什么樣就是什么樣的。
第二,調(diào)用動態(tài)參數(shù)。上面第一步我們完成的僅僅是一個靜態(tài)的頁面,而我們現(xiàn)在做的肯定是需要讓其內(nèi)容動起來,而這些參數(shù)無非就是DZ內(nèi)部的一些 動態(tài)變量參數(shù)。比如文章的發(fā)布日期的變量是$value[dateline],文章的地址是$article_url,當然這些參數(shù)只要參考默認模板中的 即可。這里又會有一個問題,也許大家可能會在這個頁面需要加上默認模板沒有的,而在默認模板其他頁面有的。是不是自己復制另外頁面的相應參數(shù)就可以了呢? 肯定是不行的,DZ是一套比較復雜的系統(tǒng),不同的頁面的很多參數(shù)是不能通用的,這樣就需要對部分進行二次開發(fā)。比如就如上面展示的列表那樣需要加上原來沒 有的瀏覽數(shù)和評論數(shù),就需要在相關的函數(shù)中添加一些功能性語句了,比如這個列表的相關函數(shù)存儲在
/source/module/portal/portal_list.php中
在中間的自定義函數(shù)category_get_list中添加讓通用變量啟用的語句
$article_count = C::t('portal_article_count')->fetch($value['aid']); if($article_count) $value = array_merge($article_count, $value);
這樣進行簡單的二次開發(fā)后就可以在門戶的列表頁使用$value[commentnum]調(diào)用評論數(shù)以及用$value[viewnum]調(diào)用瀏覽數(shù)了;當然其他的一些功能也是類似的,當然需要你有一定的PHP基礎。
第三,優(yōu)化性能。就如這種圖文列表的形式,我們不可能在一個單頁列表中包含的數(shù)據(jù)記錄數(shù)只會三五個,一般地我們得在單頁有近二十條數(shù)據(jù),但這樣 就會出現(xiàn)一個問題,當用戶首次打開這個列表的時候數(shù)據(jù)量會特別的大。比如就二十條數(shù)據(jù),圖片每個40KB,光列表中的圖片大小就有了800KB,這樣打開 起來肯定不可能太快。這里就需要我們進行適當?shù)男阅軆?yōu)化,比如可以進行分屏加載,而使用jQuery和AJAX等技術都可以實現(xiàn)這些,比如jQuery的 插件Lazy Load就可以實現(xiàn)圖片的分屏加載,當然至于怎么用網(wǎng)上有很多相關的教程。在這里我不得不提示大家,jQuery 默認情況下會與DZ的JS沖突,因為DZ變量用的 是 $ 開頭,而jQuery也是用$這個所以會有沖突。解決的辦法也很簡單,jQuery庫不改變,只在引用的時候改變一下就可以了,可以先賦予一個變量如 var jq = jQuery.noConflict();然后用這個變量jq代替引用中的$就可以解決這個沖突了。
上面就是一個簡單的實例分享,希望對大家有所幫助。其實上面的內(nèi)容也提示了大家一些問題,那就是最好自己先掌握一些基礎知識,同時不要胡亂添加一些代碼,比如很多站長甚至不知道jQuery會和DZ沖突,而在網(wǎng)上隨意下載特效添加在網(wǎng)站中,這樣不出問題才怪!
更多信息請查看IT技術專欄