Zblog博客评论之星插件显示的文字,不怎么好看,想改为wordpress读者墙那样应该怎么设置头像?哈哈,终于找到了,参考了石头的读者墙做法做好了。说说我的做法,虽然有瑕疵,此问题经过裘大神的指点,已经改正了。请看括号后的内容。
【我想让热心读者的头像显示到首页的右侧,但是找了很久都没找到。我要继续去网站上寻找,寻找zblog大神。
看到很多的读者墙、评论之星的博客都是WP系统,我要继续学习。
在插件里下载了评论之星的插件,显示的内容不合我意。
等我找到了,我再贴出来。2011-07-07 16::24】
Zblog评论之星插件修改/读者墙设置操作步骤如下:
1、在博客后台的“文件管理”中修改PLUGIN\CmtStar目录中的include.asp文件,将代码替换为结尾的代码内容:(一开始我替换了一部分,但是出错了,只好用本办法全部复制)
2、在后台的插件管理中,管理评论之星插件,将其配置改为:只显示当月评论之星;列出12个评论之星(或者10个,看你的博客侧栏大小而定);忽略评论数在2或者3个以下的评论。
3、点击左侧的文件重建。
代码内容:
<%
'///////////////////////////////////////////////////////////////////////////////
'// 插件应用: 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 & "<a href="""& aryCmtUrl(k) &""" target=""_blank"">" & "<img src=""http://www.gravatar.com/avatar/"&md5(aryCmtEmail(k))&"?d=identicon&s=28&r=g"" height=36 widht=36 title="""& aryCmtName(k) &" ("& aryCmtNum(k) &"条评论)"" /></a> " & vbCrlf
Else
strCmtStar = strCmtStar & "<a href="""& aryCmtUrl(k) &""" target=""_blank"">" & "<img src=""http://www.gravatar.com/avatar/"&md5(aryCmtEmail(k))&"?d=identicon&s=28&r=g"" height=36 widht=36 title="""& aryCmtName(k) &" ("& aryCmtNum(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
%>
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
博主 于 2011-9-29 15:14:39 回复网站不能访问了?
seenuo 于 2011-7-8 12:04:51 回复你已经是第一了。我现在在找头像版评论之星
潇雨 于 2011-11-30 0:00:46 回复我不是第一的吗??
seenuo 于 2011-9-16 10:06:02 回复网站打不开?
博主 于 2011-9-7 14:25:59 回复怎么你的博客我留言总是不成功
seenuo 于 2011-9-16 9:33:26 回复里面链接地址和评论数现在不能显示
博主 于 2011-9-20 19:04:40 回复我这些天忙,都没时间去折腾博客
博主 于 2011-9-29 15:14:00 回复只能回访,无法给你留言
博主 于 2011-10-23 17:30:35 回复你的论坛留言少是 一般人不愿意注册