ECSHOP商品销量自定义虚拟销量已销售实现方法
2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家
ecshop商品自定义销量(虚拟销量)实现方法1.在sq执行语句ALTER TABLE `ecs_goods` ADD `sales_volume_base` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' 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'); 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中$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, " . " (promote_price > 0 AND promote_start_date = '$today') AS is_promote ". " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . " ORDER BY $filter[sort_by] $filter[sort_order] ". " LIMIT " . $filter['start'] . ",$filter[page_size]";修改为$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, " . " (promote_price > 0 AND promote_start_date = '$today') AS is_promote ". " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . " ORDER BY $filter[sort_by] $filter[sort_order] ". " LIMIT " . $filter['start'] . ",$filter[page_size]";3./admin/templates/goods_list.htm,在{if $use_storage} {$lang.goods_number}{$sort_goods_number} {/if}后,添加{$lang.sales_volume_base}{$sort_sales_volume_base}在{if $use_storage} {$goods.goods_number} {/if}后,添加{$goods.sales_volume_base}4./admin/goods.php,在/** * 列表链接 * @param bool $is_add 是否添加(插入) * @param string $extension_code 虚拟商品扩展代码,实体商品为空 * @return array('href' => $href, 'text' => $text) */ function list_link($is_add = true, $extension_code = '')前,添加/*------------------------------------------------------ */ //-- 修改商品虚拟销量 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'edit_sales_volume_base') { check_authz_json('goods_manage'); $goods_id = intval($_POST['id']); $sales_volume_base = json_str_iconv(trim($_POST['val'])); if ($exc->edit("sales_volume_base = '$sales_volume_base', last_update=" .gmtime(), $goods_id)) { clear_cache_files(); make_json_result(stripslashes($sales_volume_base)); } }5.goods.php,在$smarty->assign('categories', get_categories_tree($goods['cat_id'])); // 分类树后,添加$smarty->assign('sales_count', get_sales_count($goods_id));在末尾添加/* 商品累计销量带自定义_新增加 */ function get_sales_count($goods_id) { /* 查询该商品的自定义销量 */ $sales_base = $GLOBALS['db']->getOne('SELECT sales_volume_base FROM '.$GLOBALS['ecs']->table('goods').' WHERE goods_id = '.$goods_id); /* 查询该商品的实际销量 */ $sql = 'SELECT IFNULL(SUM(g.goods_number), 0) ' . 'FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS o, ' . $GLOBALS['ecs']->table('order_goods') . ' AS g ' . "WHERE o.order_id = g.order_id " . "AND o.order_status " . db_create_in(array(OS_CONFIRMED, OS_SPLITED)) . "AND o.shipping_status " . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) . " AND o.pay_status " . db_create_in(array(PS_PAYED, PS_PAYING)) . " AND g.goods_id = '$goods_id'"; $sales_count = $GLOBALS['db']->getOne($sql); /* 商品累计销量默认显示方式 */ if ($GLOBALS['_CFG']['show_sales_type']) { $row['sales_volume_total'] = $sales_count; //实际销量 } else { $row['sales_volume_total'] = $sales_base + $sales_count; //自定义销量+实际销量 } return ($row['sales_volume_total']); }6.在/languages/zh_cn/admin/shop_config.php,中 /languages/zh_cn/admin/shop_config.php 下,添加$_LANG['cfg_name']['show_goods_sales'] = '是否显示商品累计销量'; $_LANG['cfg_range']['show_goods_sales']['1'] = '显示'; $_LANG['cfg_range']['show_goods_sales']['0'] = '不显示'; $_LANG['cfg_name']['show_sales_type'] = '商品累计销量默认显示方式'; $_LANG['cfg_range']['show_sales_type'][1] = '真实显示'; $_LANG['cfg_range']['show_sales_type'][0] = '虚拟显示';7./languages/zh_cn/admin/goods.php,中$_LANG['goods_sn_exists'] = '您输入的货号已存在,请换一个';后,添加$_LANG['sales_volume_base'] = '虚拟销量';8./languages/zh_cn/common.php,中$_LANG['divided_into'] = '分成规则';后,添加$_LANG['sales_volume_total'] = '累计销量:'; $_LANG['pcs'] = '件';9./themes/default/goods.dwt,在 后,添加{if $cfg.show_goods_sales} {$lang.sales_volume_total} {$sales_count}{if $goods.measure_unit}{$goods.measure_unit}{else}{$lang.pcs}{/if} {/if}OK,完成!
最近更新
常用插件
- ecshop2.7.2退换货申请插件
ecshop2.7.2退换货申请插件,主要是在 ecshop 现在的基础上,对ecshop的订单处...
- ecshop会员中心订单excel倒出
ecshop会员中心订单excel倒出...
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop注册推荐送现金插件
ecshop中的促销售功能还不是很完善,随着电子商务系统的发展和进步,...