前面趣主题介绍了WordPress读者墙插件,之后想找Z-Blog博客的读者墙插件,但一直没有找到,可能是没有人制作相关的插件吧。后来石头的博客发表了一篇利用评论之星插件给Z-Blog添加读者墙页面的文章,并亲切地命名为“朋友圈”,现在趣主题将其找到并转载过来,供需要的朋友参考研究学习使用。

Z-Blog博客墙制作方法步骤:

使用记事本或Dreamweaver,复制以下代码到其中并保存为guest.asp(名字随自己喜欢),文档的编码选为UTF-8;

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 <%@ CODEPAGE=65001 %> <% ‘/////////////////////////////////////////////////////////////////////////////// ‘// Z-Blog ‘// 作 者: 朱煊(zx.asd) ‘// 版权所有: RainbowSoft Studio ‘// 技术支持: rainbowsoft@163.com ‘// 程序名称: ‘// 程序版本: ‘// 单元名称: ‘// 开始时间: 2004.07.25 ‘// 最后修改: ‘// 备 注: ‘/////////////////////////////////////////////////////////////////////////////// %> <% Option Explicit %> <% On Error Resume Next %> <% Response.Charset="UTF-8" %> <% Response.Buffer=True %> <!– #include file="c_option.asp" –> <!– #include file="function/c_function.asp" –> <!– #include file="function/c_function_md5.asp" –> <!– #include file="function/c_system_lib.asp" –> <!– #include file="function/c_system_base.asp" –> <!– #include file="function/c_system_event.asp" –> <!– #include file="function/c_system_plugin.asp" –> <!– #include file="plugin/p_config.asp" –> <% Call System_Initialize_WithOutDB() Dim ArtList Set ArtList=New TArticleList ArtList.LoadCache ArtList.template="GUEST" If ArtList.ExportByCache("","","","","","") Then ArtList.Build Response.Write ArtList.html End If Call System_Terminate_WithOutDB() %><!– <%=RunTime()%>ms –><% If Err.Number<>0 then Call ShowError(0) End If %>

使用记事本或Dreamweaver,新建一个html文件,把你的模板代码复制进去,在要调用读者墙的地方插入标签“<#CACHE_INCLUDE_CMTSTAR#>”,并另存为guest.html,注意编码是UTF-8格式的;(这里可以使用index.html文件,把文件中调用摘要的代码替换为<#CACHE_INCLUDE_CMTSTAR#>下载Z-Blog博客插件评论之星并安装激活(可以在Z-blog博客后台的插件管理里直接安装)在Z-Blog博客后台的“文件管理”中修改PLUGIN\CmtStar目录中的include.asp文件,将代码替换为以下代码内容:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 <% ‘/////////////////////////////////////////////////////////////////////////////// ‘// 插件应用: 1.8 Devo 其它版本的Z-blog未知 ‘// 插件制作: haphic(http://haphic.com/) ‘// 备 注: CmtStar – 挂口页 ‘// 最后修改: 2009-12-2 ‘// 最后版本: 0.1 ‘/////////////////////////////////////////////////////////////////////////////// Const CmtStar_DayNum = 365 Const CmtStar_Num = 500 Const CmtStar_Level = 1 Const CmtStar_AlwaysShowLinks = True Const CmtStar_DefaultLink = "" Const CmtStar_ThisMonthOnly = False Const CmtStar_BlockedName = "" ‘注册插件 Call RegisterPlugin("CmtStar","ActivePlugin_CmtStar") Function ActivePlugin_CmtStar() ‘挂上接口 ‘Call Add_Action_Plugin("Action_Plugin_MakeBlogReBuild_Begin","Call CmtStar_BuildCache") Call Add_Action_Plugin("Action_Plugin_MakeBlogReBuild_Core_Begin","Call CmtStar_BuildCache:Call ClearGlobeCache():Call LoadGlobeCache()") ‘Call Add_Action_Plugin("Action_Plugin_CommentPost_Succeed","Call CmtStar_BuildCache:Call ClearGlobeCache():Call LoadGlobeCache()") End Function Function CmtStar_BuildCache() On Error Resume Next Dim aryCmtName() Dim aryCmtNum() Dim aryCmtUrl() Dim aryCmtEmail() Dim tmpCmtName Dim tmpCmtNum Dim tmpCmtUrl Dim tmpCmtEmail Dim i : i=0 Dim j : j=0 Dim k : k=0 Dim bolNameFound ReDim Preserve aryCmtName(i) ReDim Preserve aryCmtNum(i) ReDim Preserve aryCmtUrl(i) ReDim Preserve aryCmtEmail(i) ‘从数据库中取得数据 Dim objRS If CmtStar_ThisMonthOnly Then Set objRS=objConn.Execute("SELECT [comm_Author],[comm_HomePage],[comm_Email] FROM [blog_Comment] WHERE ([log_ID]>=0) AND (Year([comm_PostTime])="&Year(Now())&") AND (Month([comm_PostTime])="&Month(Now())&") ORDER BY [comm_ID] DESC") Else Set objRS=objConn.Execute("SELECT [comm_Author],[comm_HomePage],[comm_Email] FROM [blog_Comment] WHERE ([log_ID]>=0) AND ([comm_PostTime]>Now()-"& CmtStar_DayNum &") ORDER BY [comm_ID] DESC") End If If (Not objRS.bof) And (Not objRS.eof) Then Do While Not objRS.eof If CmtStar_NameIllegal(objRS("comm_Author"))=False Then bolNameFound = False For j=0 To UBound(aryCmtName) Step 1 If LCase(aryCmtName(j)) = LCase(objRS("comm_Author")) Then aryCmtNum(j) = aryCmtNum(j)+1 If Len(aryCmtUrl(j)) < 5 Then aryCmtUrl(j) = objRS("comm_HomePage") Else If Not Len(objRS("comm_HomePage"))<5 Then aryCmtUrl(j) = aryCmtUrl(j) & "|" & objRS("comm_HomePage") ‘取得所有的URL, 字符串 URL|URL|URL 形式. End If End If bolNameFound = True Exit For End If Next If bolNameFound = False Then ReDim Preserve aryCmtName(i) ReDim Preserve aryCmtNum(i) ReDim Preserve aryCmtUrl(i) ReDim Preserve aryCmtEmail(i) aryCmtName(i) = objRS("comm_Author") aryCmtNum(i) = 1 aryCmtUrl(i) = objRS("comm_HomePage") aryCmtEmail(i) = objRS("comm_Email") i=i+1 End If End If objRS.MoveNext Loop End If objRS.Close Set objRS=Nothing ‘滤去评论数小于指定值的评论者 tmpCmtName = aryCmtName tmpCmtNum = aryCmtNum tmpCmtUrl = aryCmtUrl tmpCmtEmail = aryCmtEmail Erase aryCmtName Erase aryCmtNum Erase aryCmtUrl Erase aryCmtEmail j=0 For i=0 To UBound(tmpCmtName) Step 1 If Not tmpCmtNum(i)<CmtStar_Level Then ReDim Preserve aryCmtName(j) ReDim Preserve aryCmtNum(j) ReDim Preserve aryCmtUrl(j) ReDim Preserve aryCmtEmail(j) aryCmtName(j) = tmpCmtName(i) aryCmtNum(j) = tmpCmtNum(i) aryCmtUrl(j) = tmpCmtUrl(i) aryCmtEmail(j) = tmpCmtEmail(i) j=j+1 End If Next Erase tmpCmtName Erase tmpCmtNum Erase tmpCmtUrl Erase tmpCmtEmail ‘最多原则确定链接, 防冒名 Dim objRegExp, Matches Set objRegExp=new RegExp objRegExp.IgnoreCase =True objRegExp.Global=True Dim m,n,s,t For k=0 To UBound(aryCmtName) Step 1 m = aryCmtUrl(k) t = 0 If InStr(m,"|")>0 Then n=Split(m,"|") For Each s In n If Right(s,1)="/" Then s=Left(s,Len(s)-1) objRegExp.Pattern="("& s &")" Set Matches = objRegExp.Execute(m) If t<Matches.Count Then t=Matches.Count aryCmtUrl(k) = s End If Set Matches = Nothing Next End If Next Set objRegExp=Nothing ‘排序 k=Ubound(aryCmtName) For i=k To 0 Step -1 For j=0 To i-1 If aryCmtNum(j)<aryCmtNum(j+1) Then tmpCmtName = aryCmtName(j) tmpCmtNum = aryCmtNum(j) tmpCmtUrl = aryCmtUrl(j) tmpCmtEmail = aryCmtEmail(j) aryCmtName(j) = aryCmtName(j+1) aryCmtNum(j) = aryCmtNum(j+1) aryCmtUrl(j) = aryCmtUrl(j+1) aryCmtEmail(j) = aryCmtEmail(j+1) aryCmtName(j+1) = tmpCmtName aryCmtNum(j+1) = tmpCmtNum aryCmtUrl(j+1) = tmpCmtUrl aryCmtEmail(j+1) = tmpCmtEmail End If Next Next ‘导出评论之星 Dim strCmtLink : strCmtLink=CmtStar_DefaultLink : If Len(strCmtLink)<5 Then strCmtLink=ZC_BLOG_HOST Dim strCmtStar : strCmtStar="" For k=0 To Ubound(aryCmtName) Step 1 If (aryCmtName(k) <> "") Then If k>CmtStar_Num-1 Then Exit For If CmtStar_AlwaysShowLinks Then If Len(aryCmtURL(k))<5 Then aryCmtURL(k)=strCmtLink End If If Len(aryCmtURL(k))<5 Then strCmtStar = strCmtStar & "<img src=""http://www.gravatar.com/avatar/"&md5(aryCmtEmail(k))&"?d=identicon&s=36&r=g"" height=36 widht=36 alt="""& aryCmtName(k) &""" />" & vbCrlf Else strCmtStar = strCmtStar & "<a href="""& URLEncodeForAntiSpam(aryCmtUrl(k)) &""" target=""_blank"">" & "<img src=""http://www.gravatar.com/avatar/"&md5(aryCmtEmail(k))&"?d=identicon&s=36&r=g"" height=36 widht=36 alt="""& aryCmtName(k) &""" /></a>" & vbCrlf End If End If Next Erase aryCmtName Erase aryCmtNum Erase aryCmtUrl strCmtStar=TransferHTML(strCmtStar,"[no-asp]") Call SaveToFile(BlogPath & "/include/CmtStar.asp",strCmtStar,"utf-8",True) Err.Clear End Function Function CmtStar_NameIllegal(ByVal strName) If Len(CmtStar_BlockedName)=<1 Then Exit Function Dim strList,aryList,sList,bolIllegal bolIllegal=False strName=LCase(strName) strList=LCase(CmtStar_BlockedName) ‘strList=Replace(strList," ",",") ‘strList=Replace(strList," ",",") strList=Replace(strList,";",",") strList=Replace(strList,";",",") strList=Replace(strList,",",",") strList=Replace(strList,",","|") aryList=Split(strList,"|") For Each sList In aryList If sList<>"" Then If sList=strName Then bolIllegal=True Exit For End If End If Next CmtStar_NameIllegal=bolIllegal End Function ‘安装插件 Function InstallPlugin_CmtStar() Call CmtStar_BuildCache() End Function ‘卸载插件 Function UnInstallPlugin_CmtStar() On Error Resume Next Dim fso Set fso = Server.CreateObject("Scripting.FileSystemObject") fso.DeleteFile(BlogPath & "INCLUDE/CmtStar.asp") Set fso = Nothing Err.Clear End Function %>

配置评论之星插件,显示所有读者用户。在后台的插件管理中,管理评论之星插件,将其配置改为:上传guest.asp文件到空间的根目录中,再上传guest.html文件到要添加读者墙的主题TEMPLATE目录下。在博客后台重建文件,然后浏览http://你的域名/guest.asp就显示读者墙效果了。

文章原地址:http://www.stou.info/skill/zblog-reader-wall.html(内容有所修改)

提醒:博主可以在CSS中定义一下IMG类,显示自己想要的效果。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。