当前位置:首页 > CMS教程 > ecshop > 列表

ECSHOP 商品评论条件修改——购买过该商品且只能评价一次

发布:smiling 来源: PHP粉丝网  添加日期:2015-09-29 09:30:54 浏览: 评论:0 

ECSHOP 商品评论条件修改,修改为购买过该商品多少次,就只能评价多少次,不需要修改数据库,原理简介:先在后台商店设置->基本->评论条件为只有购买过此商品的会员才能评价.

ECSHOP原有机制是只要购买过一次,就可以无限评价,这里加入了简单判断,判断会员对此商品是否进行过评价,获取评价数,再获取此商品的购物次数,评价数不能大于或等于购物次数.

修改如下,打开comment.php 找到,注意,这文件有两处一样的,都要修改.

  1. case COMMENT_BOUGHT :  
  2.         if ($_SESSION['user_id'] > 0)  
  3.         {  
  4.             $sql = "SELECT o.order_id".  
  5.                    " FROM " . $ecs->table('order_info'). " AS o, ".  
  6.                    $ecs->table('order_goods') . " AS og ".  
  7.                    " WHERE o.order_id = og.order_id".  
  8.                    " AND o.user_id = '" . $_SESSION['user_id'] . "'".  
  9.                    " AND og.goods_id = '" . $cmt->id . "'".  
  10.                    " AND o.order_status = '" . OS_CONFIRMED . "' ".  
  11.                    " AND (o.pay_status = '" . PS_PAYED . "' OR o.pay_status = '" . PS_PAYING . "') ".  
  12.                    " AND (o.shipping_status = '" . SS_SHIPPED . "' OR o.shipping_status = '" . SS_RECEIVED . "') ".  
  13.                    " LIMIT 1";  
  14.              $tmp = $db->getOne($sql);  
  15.              if (emptyempty($tmp))  
  16.              {  
  17.                 $result['error']   = 1;  
  18.                 $result['message'] = $_LANG['comment_brought'];  
  19.              }  
  20.         }  
  21. //替换为: 
  22.     case COMMENT_BOUGHT :  
  23.         if ($_SESSION['user_id'] > 0)  
  24.         {  
  25.             $sql = "SELECT COUNT(o.order_id)".  
  26.                    " FROM " . $ecs->table('order_info'). " AS o, ".  
  27.                    $ecs->table('order_goods') . " AS og ".  
  28.                    " WHERE o.order_id = og.order_id".  
  29.                    " AND o.user_id = '" . $_SESSION['user_id'] . "'".  
  30.                    " AND og.goods_id = '" . $cmt->id . "'".  
  31.                    " AND (o.order_status = '" . OS_CONFIRMED . "' or o.order_status = '" . OS_SPLITED . "') ".  
  32.                    " AND (o.pay_status = '" . PS_PAYED . "' OR o.pay_status = '" . PS_PAYING . "') ".  
  33.                    " AND (o.shipping_status = '" . SS_SHIPPED . "' OR o.shipping_status = '" . SS_RECEIVED . "') ";  
  34.              $bought_count = $db->getOne($sql);  
  35.              if (!$bought_count)  
  36.              {  
  37.                 $result['error']   = 1;  
  38.                 $result['message'] = $_LANG['comment_brought'];  
  39.              }else{  
  40.                 $sql = "SELECT COUNT(comment_id) FROM " . $ecs->table('comment') .  
  41.                     " WHERE user_id = '" . $_SESSION['user_id'] . "'".  
  42.                     " AND id_value= '" . $cmt->id . "'";  
  43.                 $comment_count = $db->getOne($sql);  
  44.                 if($comment_count >= $bought_count){  
  45.                     $result['error']   = 1;  
  46.                     $result['message'] = '您已对此商品进行过评价!您可以继续购买以便再次评论。'//phpfensi.com                               
  47.                 }  
  48.              }  
  49.         } 

Tags: ECSHOP商品评论 ECSHOP评价一次

分享到: