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