一、实现步骤涉及到三个文件的代码编辑与设计,这三个文件分别 是:/commen.php;/themes/default/library/comments_list.lbi;/include/lib_main.php.
第一步:打开/include/lib_main.php,找到函数 function assign_comment($id, $type, $page = 1)往下看找到里面的一个sql调用语 句: 1 2 3 4 | $sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('comment') . " WHERE id_value = '$id' AND comment_type = '$type' AND status = 1 AND parent_id = 0". ' ORDER BY comment_id DESC' |
我们需要用户的更详细信息,所以需要将表comment和users、user_rank左连接后查询获取更多的信息, 上面整体修改为:
1 2 3 4 5 6 | $sql = "SELECT c.*, u.reg_time,u.user_rank,u.last_login,r.rank_name FROM " .$GLOBALS['ecs']->table('comment') . " c". " LEFT JOIN".$GLOBALS['ecs']->table('users')." u ON c.user_name = u.user_name". " LEFT JOIN".$GLOBALS['ecs']->table('user_rank') . " AS r ON r.rank_id = u.user_rank " . " WHERE id_value = '$id' AND comment_type = '$type' AND status = 1 AND c.parent_id = 0". " ORDER BY comment_id DESC" ; |
再往下看,找到:
1 2 3 4 5 6 7 8 9 | $arr[$row['comment_id']]['email'] = $row['email']; $arr[$row['comment_id']]['username'] = $row['user_name']; $arr[$row['comment_id']]['content'] = str_replace('\r\n', '<br />', htmlspecialchars($row['content'])); $arr[$row['comment_id']]['content'] = str_replace('\n', '<br />', $arr [$row['comment_id']]['content']); $arr[$row['comment_id']]['rank'] = $row['comment_rank']; $arr[$row['comment_id']]['add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']); |
在下面插入你所需要的显示的用户信息,比如我的就是要显示用户的等级信息、等级名称、 注册时间:
1 2 3 | $arr[$row['comment_id']]['userrank'] = $row['user_rank']; $arr[$row['comment_id']]['rankname'] = $row['rank_name']; $arr[$row['comment_id']]['regtime'] = local_date('Y-m-d H:i ',$row['reg_time']); |
第二部:打开comment.php,找到:
1 2 3 4 5 6 7 8 9 10 | if ($result['error'] == 0) { $comments = assign_comment($cmt->id, $cmt->type, $cmt->page); $smarty->assign('comment_type', $cmt->type); $smarty->assign('id', $cmt->id); $smarty->assign('username', $_SESSION['user_name']); $smarty->assign('email', $_SESSION['email']); $smarty->assign('comments', $comments['comments']); $smarty->assign('pager', $comments['pager']); |
后面插入:
1 2 3 | $smarty->assign('userrank', $_SESSION['user_rank']); $smarty->assign('rankname', $_SESSION['rank_name']); $smarty->assign('regtime', $_SESSION['reg_time']); |
第三步:打开comments_list.lbi,找到用户评论的区域代码:
1 2 3 4 5 6 7 8 9 10 | <div class="commentsTit"> <!-- {if $comment.username} --> <b class="username">{$comment.username|escape:html}:</b> <!-- {else} --> <b class="username">{$lang.anonymous}:</b> <!-- {/if} --> 给出 <img src="../images/stars{$comment.rank}.gif" alt="{$comment.comment_rank}" /> 评分<span> ( {$comment.add_time} )</span> </div> |
整体修改为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <div class="commentsTit"> <!-- {if $comment.username} --> <b class="username"> <img src="../images/memtit.gif" /> {$comment.username|escape:html}:</b> 给出 <img src="../images/stars{$comment.rank}.gif" alt="{$comment.comment_rank}" /> 评分 <span>(注册时间:{$comment.regtime}) </span> <!---此处想出现什么 你就用用什么 值分别为 {$comment.userrank}{$comment.rankname}{$comment.regtime}---> <!-- {else} --> <b class="username"><img src="../images/Anonytit.gif" /> {$lang.anonymous}:</b>给出 <img src="../images/stars{$comment.rank}.gif" alt="{$comment.comment_rank}" /> 评分 <!-- {/if} --> </div> |
|