新聞中心
ECTouch商品列表的銷量顯示為0的解決辦法
作者 / 無憂主機(jī) 時間 2017-12-10 20:38:22
無憂主機(jī)小編在測試ECTouch程序的訂單功能時發(fā)現(xiàn),當(dāng)測試用戶在商城中購買了商品,已經(jīng)完成確認(rèn)訂單、已付款、已發(fā)貨的情況下,如圖1所示, 商品列表中的第一個訂單已經(jīng)交易成功了,但是在商品列表中的顯示銷量依然為0。無憂主機(jī)小編利用多年的php空間建站經(jīng)驗也沒弄破開這個難題,后來在網(wǎng)上尋找網(wǎng)友幫助才將問題解決,為了把這份愛心傳遞下去,小編給大家分享ECTouch商品列表的銷量顯示為0的解決辦法。 不顯示的原因:ECTouch程序的模板中加入了用于統(tǒng)計銷量的代碼,但是跟它公庫的ECShop數(shù)據(jù)庫沒有用來存儲銷量大小的字段,通過下面的其中一個方法都可以使商品列表顯示銷量大小,為操作簡便,推薦使用第三種方法。 方法1: 在根目錄的/include/apps/default/controller/路徑下找到GoodsController.class.php文件,用文本編輯器打開,將第118行的下面這句代碼:
$this->assign('sales_count', model('GoodsBase')->get_sales_count($this->goods_id));替換成
$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);操作如圖2所示。 方法2: 在根目錄的include/base/model/路徑下找到GoodsBaseModel.class.php文件,打開后在第589行找到以下代碼:
function get_sales_count($goods_id) { return get_goods_count($goods_id); }替換成:
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']; }操作如圖3所示。 方法3: 在根目錄的include/apps/default/common路徑下找到function.php文件,打開后在第1594行找到下面三行代碼:
" 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)) .如圖4所示: 將這三行代碼注釋或者刪除掉,這時清空瀏覽器緩存回到商品列表,刷新當(dāng)前頁面,如圖5所示: 已經(jīng)成功顯示了真實的銷量大小了。
本文地址:http://m.love62.cn/ectouch/25773.html
上一篇: ECTouch如何去除版權(quán)信息
下一篇: phpbb后臺功能介紹–爬蟲/機(jī)器人