2006-10-17

給我 Recent Comments !!

本文來源出自:笨蛋壩子的隨筆: 給我 Recent Comments !!

Blogger 官方提供的功能真的很少。日曆要自己撰寫,文章分類的功能要靠 del.icio.us 或 furl 等服務來整合。這些或許麻煩起碼都還可以自行處理,但是「最新留言」( Recent Comments ) 這個功能 Blogger 系統沒有提供我也就沒輒了。

留言系統讓 blogger 與讀者有更多更直接的互動,大部分的 blog 系統都有提供留言的功能, Blogger 也不例外。很多的系統還提供了「最新留言」的功能以將最新的幾篇回復摘要式地顯示在主頁面上。這樣的功能有助於讓 blogger 與讀者能注意到有哪些文章正被熱切地討論,並可以很快的加入討論的行列之中。對於讀者而言這或許不是相當重要,但 blogger 能藉由此功能很快的查知有哪篇文章被網友留下了意見而不用在逐一去查閱每篇文章檢查留言 (另外一個方法就是冒著信箱被塞爆的危險使用電子郵件通知的功能 ) 。但不幸的是 Blogger 系統並沒有提供此功能。既然 Blogger 不提供,當然只好自己來了。

上網找了一下,在 Blogger 駭客中有一篇簡單的說明:
Recent comments in the sidebar
這功能相當簡單,會在主頁上顯示出最近的留言者與日期,事實上我很快的就對這個說明的程式碼進行了一些修改放到 blog 上。略為修改過的程式碼如下:
<MainPage>
<h2 class="sidebar-title">Recent Comments</h2>
<ul>
<Blogger>
<BlogItemCommentsEnabled>
<BlogItemComments>
<li><$BlogCommentAuthor$> //
<a href="<$BlogCommentPermalinkURL$>">
<$BlogCommentDateTime$></a><br/>
<script type="text/javascript">
document.write('<$BlogCommentBody$>'.slice(0,10));
</script>
</li>
</BlogItemComments>
</BlogItemCommentsEnabled>
</Blogger>
</ul>
</MainPage>

修改的部份相當簡單,因為僅顯示留言者與留言日期實在有點單薄,所以我又加上了留言內容的摘要,會在畫面上顯示該筆留言的前10個字元。

我還希望能夠顯示被留言的文章名稱,受限於 Blogger 系統的規劃這會有點麻煩。不過已經有網友撰寫好這個加強版的最新留言功能,可以參考下列網站:
Farrago Recent Comments Hack 1.03

安裝的方法相當簡單,這樣最新留言的功能應該很完備了。但最後我還是從我的 blog 上拿掉這些程式碼,徹底的放棄此功能。原因很簡單,因為這些程式碼所能顯示的並不是真正的最新留言。

這樣講起來有點矛盾,不過在文章一開頭所提供的那篇Recent comments in the sidebar文章內最下面就有提到,受限於 Blogger 系統,這裡只能抓取到主網頁上文章的留言。如果 Blogger 系統設定顯示 9 篇文章於主網頁上,那麼這裡就只能顯示最近九篇文章內的留言摘要。若有人對更早的文章留下任何意見,即便這個意見是全 blog 最新的一則留言也不會被這個最新留言 hack 抓出來顯示在主網頁上。真是完全敗給 Blogger 系統,最後我完全放棄在 blogr 上實現這個功能,只能先利用電子郵件通知的功能來注意 blog 上的新留言 ( 幸好 Gmail有充足的空間 )。就等待 Blogger 未來的大改版了(如果還有的話)!

蠢魚補述:
如果要像這個blog一樣將最新回應放在sidebar
請把<MainPage>包住的code轉由<MainOrArchivePage>來包住即可

2 則留言:

蠢魚 - vegafish 提到...

cc
剛剛找到程式碼的一個bug
cc

匿名 提到...

測試中