多个产品的多个优惠券或相同的优惠券

时间:2017-09-26 04:47:28

标签: php coupon discount x-cart

我目前正在使用xcart 4.7白金开发电子商务网站。我启用了优惠券模块。在当前的实现中,特定优惠券仅适用于单个产品或单个类别及其子类别。如何改变接受开放式购物车中的多个产品和类别?或者一次在购物车中添加多张优惠券?

1 个答案:

答案 0 :(得分:0)

1)创建一个像

这样的新表
xcart_discount_coupons_products (
  id mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  productid int(11) NOT NULL DEFAULT '0',
  ... keys
)

2)在xcart_discount_coupons表中添加一个新字段

ALTER TABLE xcart_discount_coupons add pid_link mediumint(8) unsigned NOT NULL DEFAULT 0 COMMENT 'Link to xcart_discount_coupons_products.id';
Add a mysql key for xcart_discount_coupons.pid_link if needed

3)调整func_is_valid_coupon函数 来自 modules / Discount_Coupons / func.php文件
接受新的多种产品条件。

} elseif ($my_coupon['pid_link'] > 0) {
......
           Your new code will slightly different from the "if ($my_coupon['productid'] > 0)" handler
......

4)从中调整函数func_calculate_discounts 包括/ FUNC / func.cart.php
你应该在这里为你的新$ discount_coupon_data ['pid_link']字段添加一个新条件

            if ($discount_coupon_data['productid'] > 0) {
......
                if ($product['productid'] != $discount_coupon_data['productid'])
                    continue;

5)更改后端文件以接受多个产品
你应该改变 文件 皮肤/ common_files /模块/ Discount_Coupons / coupons.tpl
provider / coupons.php

顺便说一句,您可以键入以逗号分隔的多个SKU SKU17482,SKU17511 ,来自X-Cart 4.7.4版 https://www.x-cart.com/blog/4-7-4-released.html#search-faster

您应调整此部分代码以接受多个SKU
provider / coupons.php

$newproduct_ids = !empty($productid_new) ? array(intval($productid_new)) : XCAjaxSearchProducts::extractIdsFromStr($productname);
$productid_new = $newproduct_ids[0];

6)重复类别

的步骤