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

ecshop 商品列表页面 按销量排行

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-19 14:00:33 浏览: 评论:0 

STEP1:在表“ecs_goods”添加字段:salesnum(注:自定义字段名)

STEP2:打开根目录下文件:flow.php

找到下面的代码:

  1. $sql = “INSERT INTO ” . $ecs->table(‘order_goods’) . “( ” . 
  2.                 “order_id, goods_id, goods_name, goods_sn, product_id, goods_number, market_price, “. 
  3.                 “goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id) “. 
  4.             ” SELECT ‘$new_order_id’, goods_id, goods_name, goods_sn, product_id, goods_number, market_price, “. 
  5.                 “goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id”. 
  6.             ” FROM ” .$ecs->table(‘cart’) . 
  7.             ” WHERE session_id = ‘”.SESS_ID.”‘ AND rec_type = ‘$flow_type’”; 
  8.     $db->query($sql); 

在这段代码的下面,添加如下代码:

  1. $sql = “update ” . $ecs->table(‘goods’) . ” set salesnum=salesnum +”. 
  2.   ” (SELECT goods_number”. 
  3.            ” FROM ” .$ecs->table(‘cart’) . 
  4.            ” WHERE session_id = ‘”.SESS_ID.”‘ AND rec_type = ‘$flow_type’) where goods_id=”. 
  5.   ” (SELECT goods_id”. 
  6.            ” FROM ” .$ecs->table(‘cart’) . 
  7.            ” WHERE session_id = ‘”.SESS_ID.”‘ AND rec_type = ‘$flow_type’)”; 
  8. $db->query($sql); 

上面代码在多商品结算时会出错,用下面的代码:

  1. $sql = “update ” .$GLOBALS['ecs']->table(‘goods’) . ” AS a, “.$GLOBALS['ecs']->table(‘cart’) . ” AS b “. 
  2.         ” set a.salesnum= a.salesnum+ b.goods_number”. 
  3.         ” WHERE a.goods_id=b.goods_id AND b.session_id = ‘”.SESS_ID.”‘ AND b.rec_type = ‘$flow_type’”; 
  4. $db->query($sql); 

STEP3:打开文件:default\library\goods_list.lbi,找到下面的代码:

  1. ASCDESC#goods_list”>{$pager.order}default.gif” alt=”{$lang.sort.last_update}”> 

在上面那段代码的下面添加:

ASCDESC#goods_list”>{$pager.order}default.gif” alt=”按销量排行”>

两段代码的区别,自己去分析看看吧.

STEP4:打开文件:category.php(根目录下面的),找到如下代码:

  1. $sort  = (isset($_REQUEST['sort'])  && in_array(trim(strtolower($_REQUEST['sort'])), array(‘goods_id’, ‘shop_price’, ‘last_update’))) 

修改为:

  1. $sort  = (isset($_REQUEST['sort'])  && in_array(trim(strtolower($_REQUEST['sort'])), array(‘goods_id’, ‘shop_price’, ‘last_update’,'salesnum’))) 

OK.

Tags: ecshop销量 销量排行

分享到: