ecshop商品的用戶評論欄內添加用戶等級、註冊時

ecshop商品的用戶評論欄內添加用戶等級、註冊時

1、實現步驟
涉及到三個文件代碼編輯與設計,這三個文件分別
是:/commen.php;/themes/default/library/comments_list.lbi;/include/lib_main.php.

第一步:打開/include/lib_main.php,找到函數
    function assign_comment($id, $type, $page = 1)往下看找到裏面的一個sql調用語
句: php

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左鏈接後查詢獲取更多的信息,
上面總體修改成:
html

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" ;

再往下看,找到:
sql

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,找到:
spa

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,找到用戶評論的區域代碼:
orm

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>

總體修改成:
htm

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>


以上代碼 本人親測 能夠使用! ci

相關文章
相關標籤/搜索