轉貼 : 讓 phpBB 論壇能輸出 RSS

San Wang


我們實驗室的討論區首頁 (加上 RSS 功能)

大概是 blog 中毒太深了,最近 lab 架了一個 phpBB 的討論區,因為沒有天天到開討論區看新文章的習慣,目前論壇的參與度也不是很高,所以決定讓我們的 phpBB 討論區能輸出 RSS (Introduction to RSS),然後用 bloglines (舊文 「除了 RSS Reader Panel,還有 Bloglines」) 訂閱討論區,省去檢查新文章的重覆動作。而且,該是讓 lab 的人認識和使用 RSS,RSS 應該不是 blogger 才需要懂的。 :’)

首先,如何讓 phpBB 產生 RSS。從 phpBB MODs (Modifications) 網頁的 Syndication 分類中找到了 RSS Content Syndicator,最新的版本 2.0.2 是去年十月釋出,作者是 nschindler,似乎是沒有再繼續更新維護了。

安裝 RSS Content Syndicator 真是很簡單,就如裡頭文件所寫的,一分鐘就可以完成。壓縮檔裡面的檔案有:

  • rss.php: 產生 RSS 的主程式。
  • rss_body.tpl: 產生 RSS 的樣板程式,裡頭是描述 RSS 的 XML 格式。
  • rss.MOD.txt: 說明文件。

安 裝的方法就是把 rss.php 放到 phpBB 根目錄下,rss_body.tpl 放到 templates/subSilver/ 目錄下,如果你的 template 不是選擇使用 subSilver,或者你還有安裝其它的 template 給使用者使用,也請把 rss_body.tpl 複製到這些 template 的根目錄下。然後根據討論區網址和路徑,連到下面的 URL:

http://xxx.yyy.zzz/phpBB2/rss.php

你 可以看到從討論區輸出的 RSS,很簡單吧?rss.php 後面沒有加任何 querystring 的話 (譬如 f=1&t=1 之類的),預設是輸出整個討論區最新的 15 則文章 (主題或回覆文章)。如果你想要針對各個看板產生 RSS 的話,可以開啟你 phpBB2 的 index.php,找到下面的字串:

'FORUM_NAME' => $forum_data[$j]['forum_name'],

把它置換成:

'FORUM_NAME' => $forum_data[$j]['forum_name'] . ' ',

記得把 放到你 phpBB2 的 images 目錄裡 (不是 templates/subSilver/images 目錄),如此一來,在瀏覽討論區看板時 (index.php),每個看板中文名稱後面都會出現一個 圖形,圖形的超連結就是這個看板的 RSS,如果要只輸出主題,不包含回覆文章,可以在 rss.php 後面加上:

t=1

有兩個以上的參數記得彼此要用 「&」 連接起來。

你可能也發現我們討論區除了 圖片之外,還有一個 圖片。沒錯,這也是我加上去的,這個圖片的超連結會直接連到 bloglines 訂閱你所選的看板或整個討論區 (當然你要有 bloglines 的帳號)。改法大同小異,這裡就不說明了,有問題的話,你可以再來問我。 🙂

除了看板名稱後面有輸出 RSS 功能,每個網頁論壇名稱後面也有 ,點選圖片當然是輸出整個討論區的 RSS。改法是開啟 templates/subSilver/overall_header.tpl 這個檔案,找到下面的字串:

{SITENAME}
{SITE_DESCRIPTION}

把它置換成:

{SITENAME}
{SITE_DESCRIPTION}

就可以讓你論壇名稱後面也能有輸出全部討論區 RSS 的超連結圖片。Try It。 8)


我有修正我認為的小bugs.例如.新增作者的tag.還有將 論壇類別加入 Blog title方便個別訂閱.
如果有需要歡迎向我索取.留個言.留個連絡方式.Have fun.