官方微博: 腾讯  
首页 > ECSHOP教程 > ECSHOP二次开发 > ECSHOP二次开发教程 > ECSHOP商品评论增加评论权限购买多少次评论多少次

ECSHOP商品评论增加评论权限购买多少次评论多少次

ECSHOP教程 / ecshop 教程网(www.ecshop119.com) 2015-02-22

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

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

修改如下:
打开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 . "' ".  
                   " 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 (emptyempty($tmp))  
             {  
                $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 . "') ";  
             $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 . "'";  
                $comment_count = $db->getOne($sql);  
                if($comment_count >= $bought_count){  
                    $result['error']   = 1;  
                    $result['message'] = '您已对此商品进行过评价!您可以继续购买以便再次评论。';                                        
                }  
             }  
        }


转载请注明:ECshop119模板屋-ECshop教程网(全国最专业的ECSHOP插件制作商-专业ECSHOP二次开发)

帮助目录

在线反馈

可以将问题或建议反馈给我们。

提交在线反馈

与网友交流ECSHOP开发修改。

加入QQ群交流