解決 CBB 4.03 存在的區塊問題

XOOPS

  事緣有網友原本是用本站的 CBB 4.0 附件隱藏 hack 版,但因為網站附件需要開放給訪客下載,加上當時網友的 XOOPS 是 2.4.* 版本,所以接受了我的建議改用 for XOOPS 2.4.* 以上的 CBB 4.03 版。可是當改用 CBB 4.03 版後,甚至連 XOOPS 也升至 2.5 版,附件依然是隱藏,除此之外,CBB 4.03 還有另一個區塊連結問題,逐來信向我尋求協助。初時我以為附件隱藏是暫存問題,可其實不然,登入到遠端查看網友伺服器裡的 CBB 後,並在自己的測試站用原始的 CBB 做附件上傳測試,結果才知道 CBB 4.03 也加入了附件隱藏 hack,所以要解決當然是將加入的 hack 取消。

  解決了隱藏問題後,另一個區塊問題我相信大部分有在用 CBB 4.03 的網友都會有點擊「最新主題」區塊 A 標題郤連結到 B 文章的問題,包括中文版 newbb_4.03_20101103、解壓後資料夾名稱為 trunk.r43或至本文發表日止的最新版本4.03.r1。究其原因是 CBB 4.03 版區塊樣板裡的連結已改用帶 seo 的 smarty,而「最新主題」區塊中的連結網址 http://********/modules/newbb/viewtopic.php?post_id=編號,後面的「post_id=編號」是錯誤的,裡面的「編號」原為主題編號,郤配上帖子編號的 post_id,所以針對此錯誤需修正如下:

  在/modules/newbb/blocks/newbb_block.php 下 318 行,將下面的 post_id 改為 topic_id

        $topic['topic_poster'] = $topic_poster;
        $topic['topic_page_jump'] = $topic_page_jump;
        $seo_url = '<a href="'.XOOPS_URL.'/modules/newbb/viewtopic.php?post_id='.$topic['id'].'">'.$topic['title'].'</a>';
        $seo_forum_url = '<a href="'.XOOPS_URL.'/modules/newbb/viewforum.php?forum='.$topic['forum_id'].'">'.$topic['forum_name'].'</a>';

  存檔後請按以下 XOOPS 版本完成兩個動作即可。

XOOPS 2.5 版:

1) 管理區首頁 >> 模組 >> 更新 CBB

2) 管理區首頁 >> 維護 >> 將「清空快取目錄」 全選 >> 送出

XOOPS 2.4.* 版:

1) 後台 >> 模組管理 >> 更新 CBB

2) 到 /xoops_dada/caches/ 下將 smarty_cache、smarty_compile、xoops_cache 各三個資料夾下除 index.html 外清空所有檔案。