这是我的问题。想象一下,我正在购买3种不同的物品,我有多达5张优惠券。优惠券是可互换的,但在不同的物品上使用时价值不同。
这是一个矩阵,它给出了在不同项目上花费不同数量的优惠券的结果:
coupons: 1 2 3 4 5
item 1 $10 off $15 off
item 2 $5 off $15 off $25 off $35 off
item 3 $2 off
我已经为这个例子手工计算出了最佳的操作:
如果我有一张优惠券,第一项以10美元的价格
我在做电子商务,我创造了:
包含所有产品属性(价格、id、数量、类别等)的-Session“购物车”
-CouponController.php
namespace dixard\Http\Controllers;
use Illuminate\Http\Request;
use dixard\Http\Requests;
use dixard\Http\Controllers\Controller;
use dixard\Coupon;
use dixard\Http\Controllers\Carbon\Carbon;
class CouponController exte
由于某些原因,magento网站不应用优惠券代码。它总是返回无效的:
优惠券代码无效
消息。然而,奇怪的是,当购物车的价格大于120我的货币时,就会发生这种情况。
如果购物车中有一种产品的价格为65,则优惠券代码工作正常,但如果购物车中有相同的产品,但使用qty 2(这意味着总价格为130),则会得到上述无效错误消息。
我已经将代码跟踪到Mage_Sales_Model_Quote class, which has a function named_validateCouponCode()`,在下面的代码中:
$address->hasCouponCode()
总是返回fals
因此,我有一系列的优惠券,每个都有一个价格和数量,可以从它购买。我只能从优惠券上购买给定的商品数量,不多也不能少。如何找到最小的成本,以获得所需数量的项目与优惠券(并返回-1,如果不可能)?
例如,如果有4张优惠券:“10美元买3张”、“4美元买2张”、“4美元买2张”、“3美元买1张”和4件要买的物品,最低成本是8美元。
背包致力于寻找最大值,但最低限度,它只会继续不考虑任何优惠券,并得到一个0的答案。
这是我的密码:
int minimumCost(coupon_t coupons[], int numCoupons, int units) {
if (units <= 0
我需要计算的总金额,一辆车将花费与多个产品和优惠券。我需要得到这个总数,而不需要更改全局WC()->cart。因此,我的想法是创建一个临时购物车,添加所有项目和优惠券,然后返回WC_Cart:get_total();
这是我的密码:
//5438 is my product (simple subscription, $55 with a $50 signup fee)
//product_schedule_discount is the coupon code that removes 100% of the signup fee
$tmpCart = new WC_Cart();