ecshop中优惠活动的折扣功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ecshop电子商务系统,不论是哪个版本,为了符合电子商务的发展需要,都存在促销功能里面的优惠活动,以前我们谈论了ecshop优惠活动的设置.今天我们分析ecshop二次开发折扣功能.
针对的是lib_order.php文件中的compute_discount()函数而言
ecshop折扣功能的计算,发生在购物车中.flow.php,你点进入购物车的时候,如果购买的商品在折扣或者是优惠的范围之内,我们将通lib_order.php文件中的函数compute_discount()进行折扣计算.通过favourable_activity表,把活动给检索出来.$favourable_list = $GLOBALS['db']->getAll($sql);如果为空,那么将返回false.表示没有折扣活动。

$sql = "SELECT c.goods_id, c.goods_price * c.goods_number AS subtotal, g.cat_id, g.brand_id " ."FROM " .
$GLOBALS['ecs']->table('cart') . " AS c, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE c.goods_id = g.goods_id " . "AND c.session_id = '" .
SESS_ID . "' " . "AND c.parent_id = 0 " . "AND c.is_gift = 0 " . "AND rec_type = '" . CART_GENERAL_GOODS . "'";,通过该查询,把ecshop购物车中的商品的折扣给计算出来.
在折扣的方式里面,商品优惠方式有全部商品优惠FAR_ALL.某个指定的分类优惠FAR_CATEGORY,指定的某个优惠FAR_BRAND,而折扣的方式有两种.先说第一种优惠,看以下ecshop优惠代码。

第一种是价格折扣
$discount += $total_amount * (1 - $favourable['act_type_ext'] / 100);///要
优惠的价格
$favourable_name[] = $favourable['act_name'];
第二种是减现金.
$discount += $favourable['act_type_ext'];
$favourable_name[] = $favourable['act_name'];
而在flow.php里面,通过$smarty->assign('discount',
$discount['discount']); $favour_name = empty($discount['name']) ? '' : join(',', $discount['name']);
$smarty->assign('your_discount', sprintf($_LANG['your_discount'], $favour_name, price_format($discount['discount'])));来调用,完成显示。

这些都是针对普通商品的优惠,这些优惠只能在提交订单页面的右下角才能显示的出来:
该订单完成后,您将获得2408积分,以及价值¥0.00元的红包。

商品总价: ¥2408.00元 - 折扣: ¥90.00元 + 配送费用: ¥15.00元
应付款金额: ¥2333.00元
/* 优惠活动的优惠范围*/
define('FAR_ALL', 0); // 全部商品
define('FAR_CATEGORY', 1); // 按分类选择
define('FAR_BRAND', 2); // 按品牌选择
define('FAR_GOODS', 3); // 按商品选择
/*优惠活动的优惠方式*/
define('FAT_GOODS', 0); // 送赠品或优惠购买
define('FAT_PRICE', 1); // 现金减免
define('FAT_DISCOUNT', 2); // 价格打折优惠
/* 购物车商品类型*/
define('CART_GENERAL_GOODS', 0); // 普通商品
define('CART_GROUP_BUY_GOODS', 1); // 团购商品
define('CART_AUCTION_GOODS', 2); // 拍卖商品
define('CART_SNATCH_GOODS', 3); // 夺宝奇兵
define('CART_EXCHANGE_GOODS', 4); // 积分商城。

相关文档
最新文档