首页 > CMS > Ecshop > 正文

ecshop后台添加虚拟销量以及前台显示销量

2024-07-09 22:57:02
字体:
来源:转载
供稿:网友
使用ECSHOP做网站时,有个苦恼,就是推广前期,商城销量很少,要是能够显示一个假的销量就好了。
通过本教程就可以实现。
教程开始

1.在sq执行语句
 
  1. ALTER TABLE `ecs_goods` ADD `sales_volume_base` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' 


 
  1. INSERT INTO `ecs_shop_config` (`parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order` ) VALUES ('7','show_goods_sales''select''1,0''''1''1'); 

 
  1. INSERT INTO `ecs_shop_config` (`parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order` ) VALUES ('3''show_sales_type''select''1,0''''1''1'); 


注意:如果你的数据表前缀不是‘ecs_’ 请自行修改
2./admin/includes/lib_goods.php中
 
  1. $sql = "SELECT goods_id, goods_name, goods_type, goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, " . 
  2.             " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote "
  3.             " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . 
  4.             " ORDER BY $filter[sort_by] $filter[sort_order] "
  5.             " LIMIT " . $filter['start'] . ",$filter[page_size]"


修改为
 
  1. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql = "SELECT goods_id, goods_name, goods_type, goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, sales_volume_base, " . 
  2. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote "
  3. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . 
  4. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " ORDER BY $filter[sort_by] $filter[sort_order] "
  5. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " LIMIT " . $filter['start'] . ",$filter[page_size]"


3./admin/templates/goods_list.htm,在
 
  1. {if $use_storage} 
  2. <th><a href="javascript:listTable.sort('goods_number'); ">{$lang.goods_number}</a>{$sort_goods_number}</th> 
  3. {/if

后,添加
 
  1. <th><a href="javascript:listTable.sort('sales_volume_base'); ">{$lang.sales_volume_base}</a>{$sort_sales_volume_base}</th> 


 
  1. {if $use_storage} 
  2. <td align="right"><span onclick="listTable.edit(this, 'edit_goods_number', {$goods.goods_id})">{$goods.goods_number}</span></td> 
  3. {/if

后,添加
 
  1. <td align="center"><span onclick="listTable.edit(this, 'edit_sales_volume_base', {$goods.goods_id})">{$goods.sales_volume_base}</span></td> 



4./admin/goods.php,在
 
  1. /** 
  2. * 列表链接 
  3. * @param   bool    $is_add         是否添加(插入) 
  4. * @param   string  $extension_code 虚拟商品扩展代码,实体商品为空 
  5. * @return  array('href' => $href, 'text' => $text) 
  6. */ 
  7. function list_link($is_add = true, $extension_code = ''


4./admin/goods.php,在
 
  1. /** 
  2. * 列表链接 
  3. * @param   bool    $is_add         是否添加(插入) 
  4. * @param   string  $extension_code 虚拟商品扩展代码,实体商品为空 
  5. * @return  array('href' => $href, 'text' => $text) 
  6. */ 
  7. function list_link($is_add = true, $extension_code = ''


前,添加
 
  1. /*------------------------------------------------------ */ 
  2. //-- 修改商品虚拟销量 
  3. /*------------------------------------------------------ */ 
  4. elseif ($_REQUEST['act'] == 'edit_sales_volume_base'
  5. &nbsp;&nbsp;&nbsp; check_authz_json('goods_manage'); 
  6.  
  7. &nbsp;&nbsp;&nbsp; $goods_id = intval($_POST['id']); 
  8. &nbsp;&nbsp;&nbsp; $sales_volume_base = json_str_iconv(trim($_POST['val'])); 
  9.  
  10. &nbsp;&nbsp;&nbsp; if ($exc->edit("sales_volume_base = '$sales_volume_base', last_update=" .gmtime(), $goods_id)) 
  11. &nbsp;&nbsp;&nbsp; { 
  12. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clear_cache_files(); 
  13. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_result(stripslashes($sales_volume_base)); 
  14. &nbsp;&nbsp;&nbsp; } 

5.goods.php,在
 
  1. $smarty->assign('categories',         get_categories_tree($goods['cat_id']));  // 分类树 

后,添加
 
  1. $smarty->assign('sales_count',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_sales_count($goods_id)); 

在末尾添加
 
  1. /* 商品累计销量带自定义_新增加 */ 
  2. function get_sales_count($goods_id) 
  3. &nbsp;&nbsp;&nbsp; /* 查询该商品的自定义销量 */ 
  4. &nbsp;&nbsp;&nbsp; $sales_base = $GLOBALS['db']->getOne('SELECT sales_volume_base FROM '.$GLOBALS['ecs']->table('goods').' WHERE goods_id = '.$goods_id); 
  5. &nbsp;&nbsp;&nbsp; /* 查询该商品的实际销量 */ 
  6. &nbsp;&nbsp;&nbsp; $sql = 'SELECT IFNULL(SUM(g.goods_number), 0) ' . 
  7. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS o, ' . 
  8. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $GLOBALS['ecs']->table('order_goods') . ' AS g ' . 
  9. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "WHERE o.order_id = g.order_id " . 
  10. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "AND o.order_status " . db_create_in(array(OS_CONFIRMED, OS_SPLITED)) . 
  11. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "AND o.shipping_status " . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) . 
  12. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " AND o.pay_status " . db_create_in(array(PS_PAYED, PS_PAYING)) . 
  13. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " AND g.goods_id = '$goods_id'"
  14. &nbsp;&nbsp;&nbsp; $sales_count = $GLOBALS['db']->getOne($sql); 
  15. &nbsp;&nbsp;&nbsp; /* 商品累计销量默认显示方式 */ 
  16. &nbsp;&nbsp; &nbsp;if ($GLOBALS['_CFG']['show_sales_type']) 
  17. &nbsp;&nbsp; &nbsp;{ 
  18. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $row['sales_volume_total'] =&nbsp; $sales_count; //实际销量 
  19. &nbsp;&nbsp; &nbsp;} 
  20. &nbsp;&nbsp; &nbsp;else 
  21. &nbsp;&nbsp; &nbsp;{ 
  22. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $row['sales_volume_total'] =&nbsp; $sales_base + $sales_count; //自定义销量+实际销量 
  23. &nbsp;&nbsp; &nbsp;} 
  24. &nbsp;&nbsp;&nbsp; return ($row['sales_volume_total']); 

6.在/languages/zh_cn/admin/shop_config.php,中
 
  1. /languages/zh_cn/admin/shop_config.php 


下,添加
 
  1. $_LANG['cfg_name']['show_goods_sales'] = '是否显示商品累计销量'
  2. $_LANG['cfg_range']['show_goods_sales']['1'] = '显示'
  3. $_LANG['cfg_range']['show_goods_sales']['0'] = '不显示'
  4. $_LANG['cfg_name']['show_sales_type'] = '商品累计销量默认显示方式'
  5. $_LANG['cfg_range']['show_sales_type'][1] = '真实显示'
  6. $_LANG['cfg_range']['show_sales_type'][0] = '虚拟显示'


7./languages/zh_cn/admin/goods.php,中
 
  1. $_LANG['goods_sn_exists'] = '您输入的货号已存在,请换一个'

后,添加
 
  1. $_LANG['sales_volume_base'] = '虚拟销量'


8./languages/zh_cn/common.php,中
 
  1. $_LANG['divided_into'] = '分成规则'

后,添加
 
  1. $_LANG['sales_volume_total'] = '累计销量:'
  2. $_LANG['pcs'] = '件'


9./themes/default/goods.dwt,在
 
  1. <img src="images/stars{$goods.comment_rank}.gif" alt="comment rank {$goods.comment_rank}" /> 
  2.        </dd> 

      
后,添加
 
  1. {if $cfg.show_goods_sales} 
  2. <dd style="width:48%; padding-left:7px;"
  3. <strong>{$lang.sales_volume_total}</strong> 
  4. <font class="shop">{$sales_count}{if $goods.measure_unit}{$goods.measure_unit}{else}{$lang.pcs}{/if}</font> 
  5. </dd> 
  6. {/if


OK,完成!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表