ZBlog在评论这块离Wordpress实在相差太远了:不支持嵌套回复,评论回复后IP会变化最后一位回复的IP,评论回复没有头像没有IP,后台不能显示最新回复的评论,后台不能回复评论……我们需要的功能实在太多了,而ZBlog现在提供的也实在太少了!不知道1.9中是否已经解决了这个问题,不过既然官方没有解决方案,那我们就自已动手来实现这些功能吧!
今天要教大家的是:如何给ZBlog的评论回复中增加头像。以往的ZBlog的评论回复机制中,只是非常单纯的记录了下回复的内容和姓名及时间,显示出来的效果也非常的不理想,最近受鸟儿博客中的“zblog真正的支持gravatar头像”的影响,自己也试着给博客改了改,成功了,所以希望能与大家一同分享。
效果:

如何实现呢?
如果你没有修改过function/c_function.asp和function/c_system_event.asp这两个文件的话,请直接下载我已经改好代码的文件,解压并覆盖博客根目录中function/c_function.asp和function/c_system_event.asp这两个文件即可。
如果你已经修改过这两个文件,不想以前修改的内容被覆盖,建议你进行以下步骤:
1、打开function/c_function.asp,找到代码:
objRegExp.Pattern="([REVERT=)(.+?)(])([u0000-uffff]+?)([REVERT])"
strContent= objRegExp.Replace(strContent,"<blockquote><div class=“”quote quote3“”><div class=“”quote-title“”>$2</div>$4</div></blockquote>")
在其下面增加以下代码:
objRegExp.Pattern="([GRAVATAR=)(.+?)(])([u0000-uffff]+?)([/GRAVATAR])"
strContent= objRegExp.Replace(strContent,"<div class=“”Replygravatar“”><a href=“”$2“” rel=“”nofollow"" target=“”_blank“”><img width=“”32“” height=“”32“” src=“”http://www.gravatar.com/avatar/$4?d=identicon&s=32&r=g“”/></a></div>")
保存。
2、打开function/c_system_event.asp,找到代码:
objComment.Content=TransferHTML(objComment.Content,"[anti-html-format]") & "[REVERT="& Replace(Replace(ZC_MSG264,"%s",inpName,1,1),"%s",GetTime(Now()),1,1) &"]"&inpArticle&"[/REVERT]"
将其替换为以下代码:
objComment.Content=TransferHTML(objComment.Content,"[anti-html-format]") & "[GRAVATAR="&Request.Form("inpHomePage")&"]"&MD5(Request.Form("inpEmail"))&"[/GRAVATAR][REVERT="& Replace(Replace(ZC_MSG264,"%s",s,1,1),"%s",GetTime(Now()),1,1) &"]"&Request.Form("inpArticle")&"[/REVERT]"
保存。
就这样就可以了。下次回复评论的时候,回复的代码中会在回复代码前面增加以下代码用以显示评论者头像:
<div class=”Replygravatar”><a href=”评论者网站” rel=”nofollow” target=”_blank”><img width=”32” height=”32” src=”http://www.gravatar.com/avatar/评论者邮箱MD5?d=identicon&s=32&r=g”/></a></div>
我该如何控制头像的位置呢?
你可以通过CSS来控制头像的位置。比如你可以在CSS文件中增加以下CSS内容来控制头像的位置:
.Replygravatar{position:relative;left:100px;/*位置向右移动的像素*/top:100px/*位置向下移动的像素*/}
试试吧,有不明白的地方请给我留言。当然,还得感谢鸟儿博客提供的思路和代码,帮助我们实现了这么好的功能。
原创文章转载请注明引自石头博客 http://www.stou.info/ 欢迎订阅石头博客。
这个东西可以有,双方都有头像,一看就知道是哪个了.
objRegExp.Pattern="(
老大,我的怎么是出现 未知错误 呢?不能回复了啊
老大,为什么可以发布评论,但是回复的时候是“未知错误”
试一下能用不,呵呵
如果我对一个评论进行多次回复,为不是出现在此评论的下面,而是多了一条一评论和回复
测试一下~~
呵呵~~头像测试成功!!
头像是怎么获取的呢?从那里获取。我测试下是不是QQ头像
多谢博文,经过修改已经可以成功显示评论及回复者头像
按这个方法加,还是会出现未知错误,鸟儿的也一样,期待解决方法
哇,真好!
未知错误啊,怎么搞也不搞不过来,郁闷。。。
过来主要是来学习的!把我的博客完善的更完美!
头像可真逗!
怎么直接下载了你修改好的,就不能回复了。
不错不错,我已经弄好了~
专程拜访博主,多谢您的分享!
这个不错,到没太考虑到我的那个头像版本里。有时间也把回复的头像给加上,呵呵。没有注册gravatar也可以使用哦!
试试
现在好的是左边也是头像 右边也是头像。。。哈哈~
最近都没怎么搞自己的博客了。石头哥,偶像。
偶来学习了
原来还要修改这个文件,难怪之前我的只显示一种头像
对于出现未知错误,我更换5个不同的模板均出现此问题,因此可以确定不是模板的问题,本人试着恢复function/c_function.asp和function/c_system_event.asp这两个文件到原来状态后就不会出现该问题!
再次烦劳石头大哥,不好意思啊!
目前遇到两个问题:
1.可以发表评论,但是回复时总是提示“未知错误”,致使无法提交回复结果!
2.显示头像的代码应该放到哪个模板的哪个位置!
在下愚钝,以上问题还望石头大哥给偶指点迷津呀!
石头哥,其实在模板里面也可以改啊.!(字数限制我把一些东西就省略了)
OPEN "......./TEMPLATE/b_article_comment.html"
<div>
<div><#article/comment/count#></a>.<a href="<#article/comment/urlencoder#>"><#article/comment/name#></a>在<#article/comment/posttime#>说:</div>
<div><span class="left"><#article/comment/content#></span><span><img alt="Gravatar Icon" src="http://www.gravatar.com/avatar/<#article/comment/emailmd5#>?d=identicon&s=80&r=g"/></span></div>
<div><a name="cmt<#article/comment/id#>"> <a href="#comment" onclick="RevertComment('<#article/comment/id#>')"><#ZC_MSG265#></a></div>
</div>
zblog插件太少了,而且感觉官方也不怎么积极。
不错,学习了,谢谢分享
不知道有没有测试成功的,反正我搞了半天都不行,不知道是我太笨还是石头大哥总是将的那么‘粗糙’!哎..........
原来是可以实现有头像的哦!
谢谢,博主分享!
挺复杂的,谢谢了!
在仔细阅读中
我一直使用WP,
Z blog以前用过,就是感觉功能有些少,
还是感谢,博主分享
不是Zblog支持头像,是你针对zblog开发了增加头像的功能。
在用avatar..
ucbug游戏网-提供网络游戏、单机游戏、最新游戏资讯,最全游戏攻略秘籍,大量游戏下载及大量游戏辅助工具。ucbug因为有你,才更精彩!
、www.ucbug.com
嵌套回复的功能还得再研究研究:)
写得真的很好!!!
怎么样弄回复别人的评论时,首页不显示自己的信息呀
我也更新了,有空过来看看给点意见哦
由于我比较懒……
个人觉得回复的话不加头像才特别~
还是喜欢wp程序的
回复评论的间隔太大了。
ZBLOG好的功能插件实在不多,留个链接都是跳转地址!
我还是喜欢简洁一点的··这个可有可无~不过谢谢你的分享·
这个感觉没什么用.....
头像还是缓存一下好点
看不懂啊,幸亏直接下载替换下好了
回家下载试试。
好东西啊。这样会拖慢速度吗? 石头的头像是存在缓存中吗? 我如果再加图片就更卡了。现在连评论者都没头像。。悲剧。。
试试看。
来看看 呵呵 注册一个Gravatar也可以
石头的头像一直都那么。那么。。那么地帅。。。
沙发我坐了!
沙发。。我先占了再看。