今天花了些时间将ZBLOG升级到1.4 SP1,静态化补丁也同时升级到SP1,并支持插件方式的运行。
静态化补丁代码部分的变化还是只修改了c_system_event.asp和c_system_lib.asp两个文件,同时提供的PLUGIN功能新增加两个文件。因此一共是四个文件。
使用和安装这个补丁很简单,先下载Z-Blog 1.4 SP1正式版,然后下载Z-Blog 1.4 SP1月光静态版补丁,注意此补丁只能在这个版本上使用,不要在其他版本上使用。将补丁里的两个ASP文件覆盖到原版目录下,catbuild目录放到PLUGIN目录下即可。
一般用户使用下面3个操作就可以安装好静态化补丁:
1、下载原版Z-Blog 1.4 SP1。
2、下载月光静态化补丁1.4 SP1。将其中2个文件覆盖原版文件。同时安装PLUGIN。
3、重新进行文件重建操作。
此时Z-BLOG的目录文件应该被静态化了。
如果你的ZBLOG是自己修改过的版本,那么可以使用下面的操作手动进行静态化修改。其操作较为复杂,不建议使用。
c_system_event.asp 文件修改:
648行修改为:
strArchives=strArchives & "<li><a href="""& ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & Year(dtmYM(i)) & "_" & Right("00"&Month(dtmYM(i)),2) & "." & ZC_STATIC_TYPE & """>" & Year(dtmYM(i)) & " " & ZVA_Month(Month(dtmYM(i))) & " (" & objRS(0) & ")" +"</a></li>"
1643-1646行修改为:
s=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m-1),2) & "." & ZC_STATIC_TYPE
t=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m+1),2) & "." & ZC_STATIC_TYPE
If m=1 Then s=ZC_STATIC_DIRECTORY & "/" &(y-1)&"_12" & "." & ZC_STATIC_TYPE
If m=12 Then t=ZC_STATIC_DIRECTORY & "/" &(y+1)&"_01" & "." & ZC_STATIC_TYPE
1649行修改为:
strCalendar=strCalendar & "<p class=""y""><a href="""&ZC_BLOG_HOST &s&"""><<</a> <a href="""& ZC_BLOG_HOST &ZC_STATIC_DIRECTORY & "/"&y&"_"&right("00"&m,2)& "." & ZC_STATIC_TYPE&""">"&y&"·"&m&"</a> <a href="""&ZC_BLOG_HOST &t&""">>></a></p>"
之后属于增加的代码部分:
在1201行前增加一行:
MakeCatReBuild
在1206行后增加以下代码:
'*********************************************************
' 目的: All Category ReBuild
'*********************************************************
Function MakeCatReBuild()
Dim objPage
Dim objRS
Dim ArtList
Dim cate_id,cate_year,cate_month
'生成分类目录文件开始
Set objRS=objConn.Execute("SELECT cate_id FROM blog_Category ORDER BY cate_id ")
While Not objRS.eof
'取得目录ID
cate_id=cstr(objRS("cate_id"))
'生成一个分类目录文件
Set ArtList=New TArticleList
ArtList.LoadCache
ArtList.template="CATALOG"
If ArtList.ExportByCache(Request.QueryString("page"),cate_id,Request.QueryString("auth"),Request.QueryString("date"),Request.QueryString("tags"),ZC_DISPLAY_MODE_ALL) Then
ArtList.Build
ArtList.FileName="cat_" & cate_id
ArtList.Save
End If
Set ArtList=Nothing
objRS.MoveNext
Wend
objRS.Close
Set objRS=Nothing
'生成分类目录文件结束
'生成日期目录文件开始
Set objRS=objConn.Execute("SELECT year(log_posttime) as cate_year,month(log_posttime) as cate_month FROM blog_Article group by year(log_posttime),month(log_posttime) ")
While Not objRS.eof
'取得目录ID
cate_year=cstr(objRS("cate_year"))
cate_month=cstr(objRS("cate_month"))
'生成一个日期目录文件
Set ArtList=New TArticleList
ArtList.LoadCache
ArtList.template="CATALOG"
If ArtList.ExportByCache(Request.QueryString("page"),Request.QueryString("cate"),Request.QueryString("auth"),cate_year & "-" & cate_month,Request.QueryString("tags"),ZC_DISPLAY_MODE_ALL) Then
ArtList.Build
ArtList.FileName=cate_year & "_" & right("00"&cate_month,2)
ArtList.Save
End If
Set ArtList=Nothing
objRS.MoveNext
Wend
objRS.Close
Set objRS=Nothing
'生成日期目录文件结束
MakeCatReBuild=True
End Function
'*********************************************************
c_system_lib.asp修改:
110行修改为:
Url = ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & "cat_" & ID & "." & ZC_STATIC_TYPE
1346行修改为:
s=ZC_BLOG_HOST & "catalog.asp?"& t &"page=1"
1365行修改为:
s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& i
1376行修改为:
s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& intAllPage
如果有不愿意手工修改的,就直接下载下面的文件覆盖就可以了。