0

誰かがMagentoルールで私を助けてくれることを願っています-このルールは可能ですか

私は、すべて同じカテゴリのさまざまなサイズの多数の製品を持っています。

サイズに関係なく各製品の価格は £3.98 - 購入者が製品またはサイズに関係なく同じカテゴリの製品を 3 つ購入すると、£9.99 で購入できます。4 つの製品を購入すると、3 つを 9.99 で購入できますが、4 つ目は全額を支払うことになります...3 つのグループはすべて £9.99 です。

顧客が同じ商品で同じサイズのアイテムを 3 / 6 / 9 個購入した場合に完璧に機能するように見えるルールを作成しました...ただし、それらが混在している場合は機能しません (同じカテゴリですが)。

ルールは次のとおりです。

これらの条件がすべて TRUE の場合: カート内のアイテムのサブセレクションの合計数量が 3 以上で、これらの条件のすべてに一致する場合: カテゴリは 4

また、Discount Qty Step を 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;
}

だから私がしたいのは、category_id が 4 の製品に 3 の倍数の割引を適用することです...価格は通常の 3.99 ではなく 3.33 になります。

4

1 に答える 1

0

これにはイベント-オブザーバーアプローチが必要です。これにより、必要な柔軟性が得られます。add-to-cart イベントをキャッチし、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);

幸運を!

于 2014-07-18T11:25:57.053 に答える