欢迎光临一流素材网,免积分免费素材下载!
当前位置:首页 > 教程 > CMS教程>Ecshop

ECTouch销量统计为0的解决方案

所属栏目:Ecshop更新时间:2015-09-01 来源:网络 原作者:不详 发布:deepdfhy浏览:0

免费开源可商用的PHP万能建站程序-DiYunCMS(帝云CMS)

ECTOUCH系统默认模板是有显示销量的,但是销量一直为0,据说是每个商品必须在手机版购买一次才会显示,具体详情不清楚。

ECTouch官方给了两个解决方法,也就是下文中的,方法一与方法二,但经一流资源网站长测试,会有问题,有些商品分类页会显示空白。

一流资源网找到第三种方法,经测试觉得,还是第三种方法比较靠谱。


前台显示的销量是在goods.dwt模板文件中,对应的字段是{$sales_count}

解决办法一:

打开 /include/apps/default/controller/GoodsController.class.php 文件

注释掉本行$this->assign('sales_count', model('GoodsBase')->get_sales_count($this->goods_id));

改成如下的三行代码:

/* 销量 start*/
$sql = "select sum(goods_number) as sales_count from".$this->model->pre."order_goods as g left join ".$this->model->pre."order_info as o on o.order_id=g.order_id where g.goods_id =".$this->goods_id;
        $sales_count = M()->getOne($sql);
        $this->assign('sales_count', $sales_count);
/* 销量 end*/

解决方法二:

打开 mobile/include/base/model/GoodsBaseModel.class.php 文件

查找:

/**
     * 销量
     * @param unknown $goods_id
     * @return Ambigous      */
    function get_sales_count($goods_id) {
        return get_goods_count($goods_id);
    }

替换成:

/**
* 更新销量
* @param unknown $goods_id
* @return Ambigous*/
function get_sales_count($goods_id) {
$sql = "select sum(goods_number) as sales_count from ".$this->model->pre."order_goods where goods_id = ".$goods_id;
$sales_count = M()->getRow($sql);
return $sales_count['sales_count'];
}

方法三:

打开/include/apps/default/common/function.php 文件

查找:

" AND o . order_status = '" . OS_CONFIRMED . "'" .
        " AND o . shipping_status " . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) .
        " AND o . pay_status " . db_create_in(array(PS_PAYED, PS_PAYING)) .

注释或删除 这三行代码就行了。

blob.png

原理:

目前ecshop的前台暂无实时的销量统计,为了统计商品的销量统计ECTouch新增了ecs_touch_goods表,用于存放商品的销量统计信息。
众所周知,参与销量统计需要满足订单的三个状态:订单的确认状态,订单的支付状态,订单的发货状态;满足了以上三个条件的订单商品,即可参与销量的统计。

可选择性的删除或注释掉上面的三行条件,这样也能虚(夸)高(大)一下销量数据。


标签:
收藏 0 有帮助 0 没帮助 0 打赏 0
相关教程
给个评价吧
百度云加速250x250