Magento购物车规则-这种组合是否可行

voase2hg  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(123)

希望有人能帮我一个Magento规则-这个规则甚至可能吗
我有许多产品的许多大小都属于同一类别。
每件产品的价格为3.98英镑,无论产品大小-如果买家购买3件相同类别的产品,无论产品或大小,他们将以9.99英镑的价格获得。如果他们购买4件产品,他们将以9.99英镑的价格获得其中3件,但要为第4件支付全价...每组3件产品的价格为9.99英镑。
我创建了一个规则,如果客户购买了3 / 6 / 9件相同产品和相同尺寸的商品,该规则似乎非常有效...但是,如果这些商品混合搭配,该规则就不起作用了(尽管它们属于同一类别)
规则是:

如果这些条件全部为真:如果购物车中符合所有这些条件的子选择项目的总数量等于或大于3:类别为4

我还将折扣数量步骤设置为3

更新

感谢您的回复-我已经尝试实施你的建议,并已到目前为止,我在哪里得到添加的产品的类别ID.我不知道如何设置价格以前的产品,所以它将是一个自动折扣价格

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
$itemPrice = "3.33";

foreach ($cartItems as $items) {
    $product = $items->getProduct();
    $prodCats = $product->getCategoryIds();
    if (in_array('4', $prodCats)) {
        $itemQty = $items->getQty();
    }

    $totalItems += $itemQty;
}

因此,我想做的是应用折扣的倍数3的任何产品,有一个category_id为4...价格将是3.33,而不是正常的3.99

bq3bfh9z

bq3bfh9z1#

你需要事件-观察器的方法,这将给予你所需要的灵活性。你可以建立一个观察器,捕捉添加到购物车事件sales_quote_add_item,并把你的逻辑放在那里。
观察器函数中的以下代码将为您指明正确的方向:
//将产品放入购物车:

$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
    $itemSku = $item->getSku();
    $itemQty = $item->getQty();
}

//添加的产品:

$item = $observer->getEvent()->getQuoteItem();
$itemQty = $item->getQty();
$itemSku = $item->getSku();

//更改添加产品的价格:

$item->setOriginalCustomPrice($newPrice);

祝你好运!

相关问题