vBulletin HACK
----顯示話題大小和打開新窗口於論壇索引頁
作者:gogosoft
《顯示話題大小》
原因:1.1.4版本中沒有此功能,而部分用戶會以此作為是否查看話題的參考因素。
優點:只需要增加幾行代碼就可以。
缺點:因為每次顯示論壇索引頁都需要對該頁的話題全部計算大小,所以可能會對服務器造成若干的影響。
自評:這是一個小功能,可有可無,實用與否見仁見智。
步驟:
⒈打開 forumdisplay.php ,查找“
if ($announcement=$DB_site->query_first("SELECT announcementid,userid,startdate,title FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1) ORDER BY startdate DESC LIMIT 1")) {
”,在後面加入“
// Hack thread size
$size=0;
$announcements=$DB_site->query("SELECT pagetext FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1)");
while ($announce=$DB_site->fetch_array($announcements)) $size+=strlen($announce[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,查找“
while ($thread=$DB_site->fetch_array($threads)) {
”,在後面加入“
// Hack thread size
$size=0;
$posts=$DB_site->query("SELECT pagetext FROM post WHERE threadid=".$thread[threadid]);
while ($post=$DB_site->fetch_array($posts)) $size+=strlen($post[pagetext]);
$size=iif($size>1024,number_format($size/1024,1)."K",$size);
// End Hack thread size
”,保存退出;
⒉在《控制面板》打開 forumdisplay 模板,查找“
<td align=center><smallfont color="{tableheadtextcolor}"><B>回復</B></smallfont>
</td>
<td align=center><smallfont color="{tableheadtextcolor}"><B>人氣</B></smallfont>
</td>
”,在後面加入“
<td align=center><smallfont color="{tableheadtextcolor}"><B>大小</B></smallfont>
</td>
”,查找“
<TD valign="middle" width="100%" colspan="7">
”,替換為“
<TD valign="middle" width="100%" colspan="8">
”保存。打開 forumdisplaybit 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>$replies</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$views</normalfont>
</td>
”,在後面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,打開 forumdisplay_announcement 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>-</normalfont>
</td>
<td align=center bgcolor="{secondaltcolor}">
<normalfont>-</normalfont>
</td>
”,在後面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,保存。完成!
《打開新窗口》
原因:這對於浏覽一個經常更新的論壇來說,是很有用的,用戶可以很簡單地就打開了很多不同話題的窗口。
優點:很簡單,只需要改動模板就實現了——好象也不是太屬於HACK。:)
缺點:只能對話題的第一頁打開新的窗口,而其它頁,還是要按住Shift。
步驟:控制面板->模板->編輯,打開 forumdisplaybit ,查找“
<td bgcolor="{firstaltcolor}" width="100%"><normalfont>
$gotonew <A HREF="showthread.php?threadid=$threadid">$threadtitle</a>
”,在 $gotonew 後面或前面($gotonew 是那個“有新帖子”的圖標)加入“
<A HREF="showthread.php?threadid=$threadid" target="_blank"><img src="images/newwin.gif" border="0"></a>
”,當然了,你得為這個打開新窗口的連接准備一個小圖標,並上載到 images 目錄下。完成!
范例:http://gogosoft.oso.com.cn/forum/forumdisplay.php?forumid=4
【本文版權歸作者與奧索網共同擁有,如需轉載,請注明作者及出處】