月光博客曾经写过一篇ZBLOG调用热文排行的帖子,然而此代码只能适用于固定目录,如果是使用静态日志就无法使用,具体为体现为URL调用出错,无奈之下我重写了热文代码,下面请看具体修改。

修改function目录下c_system_event.asp文件,在最后添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'*********************************************************
' 目的: 重建排行
'*********************************************************
Function BlogReBuild_Toplist()
 
Dim i
Dim objRS
Dim objStream
Dim objArticle
 
Dim strPrevious
Set objRS=objConn.Execute("SELECT [log_ID],[log_Url],[log_Title] FROM [blog_Article] WHERE [log_Level]>1 ORDER BY log_CommNums*100 + log_TrackBackNums*200 + sqr(log_ViewNums)*10 - (date()-Log_PostTime)*(date()-Log_PostTime) DESC")
 
If (Not objRS.bof) And (Not objRS.eof) Then
For i=1 to ZC_PREVIOUS_COUNT
Set objArticle=New TArticle
If objArticle.LoadInfoByID(objRS("log_ID")) Then
strPrevious=strPrevious & "<li><a href="""& objArticle.Url & """>" & objArticle.Title & "</a></li>"
End If
Set objArticle=Nothing
objRS.MoveNext
If objRS.eof Then Exit For
Next
End If
objRS.close
 
strPrevious=TransferHTML(strPrevious,"[no-asp]")
 
Call SaveToFile(BlogPath & "/include/toplist.asp",strPrevious,"utf-8",True)
 
BlogReBuild_Toplist=True
 
End Function
'*********************************************************

再次修改c_system_event.asp文件,找到MakeBlogReBuild函数的BlogReBuild_Categorys后面加上一行BlogReBuild_Toplist

将代码加入模板:

修改TEMPLATE\default.html与TEMPLATE\single.html模板,在适当位置加入以下语句:

1
2
3
4
5
6
<div class="function" id="divTopList">
<h3>热文排行</h3>
<ul>
<#CACHE_INCLUDE_TOPLIST#>
</ul>
</div>

这样热文排行就可以使用了。具体效果见徐果萍博客

此为修改好的c_system_event.asp文件 只适用ZBLOG 1.7 版


本文章由雨豪博客撰写,采用CC授权分享,转载时请注明原文链接。
本文链接: http://www.wx35.cn/archives/454/

随机文章

Comments

2 Responses to “Zblog静态日志调用热文排行”

  1. 卢松松 on 十月 11th, 2009 7:46 下午

    不错 收藏了!

  2. louisvuitton on 五月 29th, 2010 3:34 下午

    楼主写的真好~学习了~谢谢!