emlog的评论列表里没有对评论者进行区分,比如博主,作者,普通游客,至于用户就不必要了,把他放在游客里即可
我们需要的是区分当前文章的作者,以及博客主人的评论。
以下是博主笑忘书折腾出来的判断方法,其实原理比较简单,直接判断昵称是否和作者或博主相同即可。
1. 首先需要获取文章作者id到评论列表函数里。打开 echo_log.php,找到评论获取函数:
<?php blog_comments($comments); ?>
如果不是官方模板,可能不一定完全相同,不过没关系,我们只是在其后面加入一个文章作者id:
<?php blog_comments($comments,$author); ?>
保存即可。
2.继续打开module.php文件,找到评论列表函数,加进一个$uid,如下:
<?php
//blog:评论列表
function blog_comments($comments,$uid)
…………
再找到:
$comment['poster'] = $comment['url'] ? ……
由于上面这句会将评论者昵称重新定义成带链接等的内容,不适合我们拿来判断昵称是否一致,所以我们要在其前面加入:
$comname = $comment['poster'];
这个获取的是评论者昵称文本。接着可以找到 <?php echo $comment['poster']; ?> 即评论者昵称显示位置,在其后面加:
<?php global $CACHE;$user_cache = $CACHE->readCache('user'); $bzname = $user_cache[1]['name']; if($comname == $bzname): ?>(博主)<?php elseif($comname == $user_cache[$uid]['name']): ?>(作者)<?php endif;?>
这个是先判断是不是博主的昵称,如果是就显示博主;不是的话,再判断是不是作者(不是博主发表的文章)。
当然你也可以定义其他内容样式,自己发挥好了。
慢着,我们只是完成了一级评论而已,后面的子评论还没设置。
3.继续找到评论列表函数最后的,同样增加一个$uid:
<?php blog_comments_children($comments, $comment['children'],$uid); ?>
再找到子评论列表函数(一般在评论列表函数后面),重复第二步的操作即可。
感谢作者:笑忘书的投稿,欢迎大家投稿: https://www.blogs.hk/post-87.html
日期:2015年08月17日 06:09:49 星期日 分类:
好文分享 浏览(69839)
评论(20)本文地址:https://www.blogs.hk/post-571.html [
百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
留言咨询