ECSHOP商品评论须购买过该商品且只能评价一次

来源:互联网 发布:mac os x cdr镜像下载 编辑:程序博客网 时间:2024/04/30 14:14

商品评论修改为只有购买过该商品才能评论,且只能评论一次.

这里加入了简单判断,判断会员对此商品是否进行过评价,获取评价数,再获取此商品的购物次数。评价数不能大于或等于购物次数。

1.后台->商店设置->基本设置->商品评论的条件->仅购买过该商品用户

2.comment.php找到

                        case COMMENT_BOUGHT :                            if ($_SESSION['user_id'] > 0)                            {                                $sql = "SELECT o.order_id".                                       " FROM " . $ecs->table('order_info'). " AS o, ".                                       $ecs->table('order_goods') . " AS og ".                                       " WHERE o.order_id = og.order_id".                                       " AND o.user_id = '" . $_SESSION['user_id'] . "'".                                       " AND og.goods_id = '" . $cmt->id . "'".                                       " AND (o.order_status = '" . OS_CONFIRMED . "' or o.order_status = '" . OS_SPLITED . "') ".                                       " AND (o.pay_status = '" . PS_PAYED . "' OR o.pay_status = '" . PS_PAYING . "') ".                                       " AND (o.shipping_status = '" . SS_SHIPPED . "' OR o.shipping_status = '" . SS_RECEIVED . "') ".                                       " LIMIT 1";                                 $tmp = $db->getOne($sql);                                 if (empty($tmp))                                 {                                    $result['error']   = 1;                                    $result['message'] = $_LANG['comment_brought'];                                 }                            }                            else                            {                                $result['error']   = 1;                                $result['message'] = $_LANG['comment_brought'];                            }
替换为(这里共有两处,两处都要替换)
                    case COMMENT_BOUGHT :if ($_SESSION['user_id'] > 0){$sql = "SELECT COUNT(o.order_id)".   " FROM " . $ecs->table('order_info'). " AS o, ".   $ecs->table('order_goods') . " AS og ".   " WHERE o.order_id = og.order_id".   " AND o.user_id = '" . $_SESSION['user_id'] . "'".   " AND og.goods_id = '" . $cmt->id . "'".   " AND (o.order_status = '" . OS_CONFIRMED . "' or o.order_status = '" . OS_SPLITED . "') ".   " AND (o.pay_status = '" . PS_PAYED . "' OR o.pay_status = '" . PS_PAYING . "') ".   " AND (o.shipping_status = '" . SS_SHIPPED . "' OR o.shipping_status = '" . SS_RECEIVED . "') ".   " LIMIT 1";$bought_count = $db->getOne($sql);if (!$bought_count){$result['error'] = 1;$result['message'] = $_LANG['comment_brought'];}else{$sql = "SELECT COUNT(comment_id) FROM " . $ecs->table('comment') ." WHERE user_id = '" . $_SESSION['user_id'] . "'"." AND id_value= '" . $cmt->id . "'"." LIMIT 1";$comment_count = $db->getOne($sql);if($comment_count >= $bought_count){$result['error'] = 1;$result['message'] = '您已对此商品进行过评价!您可以继续购买以便再次评论。';}}}

效果如下:

转载自:http://www.lyecs.com/article/w-41.html

0 0