优惠券问题在x-cart中

时间:2017-10-11 12:26:20

标签: php x-cart

作为x-cart的结构,orderid是在提供者的基础上创建的。有3种情况。:

  1. 如果客户从一个提供商处购买了2个不同的商品,则orderid将为1,而itemid将为2。
  2. 如果客户从一个提供商处购买了2个相同的商品,则orderid和itemid都将为1,而itemid的金额字段将计为2。
  3. 当客户从2个不同的提供商处购买2件商品时,orderid和itemid都会有所不同。
  4. 我坚持第三种情况。有2种折扣优惠券,您可以percentageflat discount提供。

    • 当我试图给予平价折扣时,它会计算两种产品,假设我对具有500+ RS价格的产品给予200RS折扣。

    现在问题是存在一个计算产品折扣的循环。因此,当有2个供应商时,将会计算两个产品的折扣,因为会有2个订购。

    当我试图打折时有折扣。该网站正在崩溃。没有办法阻止循环。因为如果我们停止循环,那么订购数组所需的数据将不存在,脚本将崩溃。有没有人面临同样的问题?或者有人对此有任何解决方案吗?

    我需要的是折扣应该计入购物车小计,而不是产品。已经尝试过太多东西,但尚未找到任何解决方案。如果你们有任何想法,请告诉我。

    谢谢。

1 个答案:

答案 0 :(得分:1)

该问题的一个自定义解决方案 "我需要的是折扣应该计入购物车小计,而不是产品。"可能是辅助隐藏优惠券。

  • 一个新的' main_coupon' flag应该添加到xcart_discount_coupons表
  • 客户将使用一个主要的'优惠券total_discount = $ 10
  • X-Cart将使用2个或更多的孩子'优惠券在计算中。例如couponA = $ 5和couponB = $ 5

这是func_calculate_discounts函数的一段示例代码

gsutil -m rm -r gs://<bucket>/path/to/directory/2017-02*

其中MultiCoupon :: getChildCouponByMainCouponCode类似于

    //$discount_coupon_data = func_query_first("SELECT * FROM $sql_tbl[discount_coupons] WHERE coupon='" . addslashes($discount_coupon) . "' $provider_condition");
    //find related child coupons instead of main coupon             
    $discount_coupon_data = MultiCoupon::getChildCouponByMainCouponCode($discount_coupon, $provider_condition);

即。您应该根据一个优惠券代码将优惠券数据替换为基于提供商的多个优惠券。