2015-11-02 133 views
0

我在Magento 1.9.1.1上,目前我正在嘗試基於購物車中產品的自定義屬性創建購物車價格規則。我在觀察者(sales_quote_save_after)中使用以下代碼來設置屬性,它對購物車價格規則沒有影響。看來,當我設置購物車產品屬性時,價格規則實際上是檢查產品屬性而不是購物車中的產品屬性。Magento - 創建購物車價格規則購物車項目屬性?

$quote = $observer->getEvent()->getQuote(); 
$cartItems = $quote->getAllVisibleItems(); 
$productSkus = Mage::getSingleton('core/session')->getProductSkus(); 
foreach ($cartItems as $item) { 
    $skuname = $item->getSku();        
    if ($skuname == $productSkus){ 
     $item->getProduct()->setData('stone_remnant_flag',$remnant); 
     $item->save(); 
     break; 
    } 
} 

所以我想知道如何去創建一個基於Cart Item Attribute的購物車價格規則條件。目前的Magento只能說明:

  • 價格在購物車
  • 數量在車
  • 行總計在車
+0

沒有分開車項目屬性。購物車中的所有物品實際上都是常規產品。你爲什麼試圖動態設置這些值?即使你動態地在產品上設置了一些屬性,重要的是要提到你使用哪個觀察者來做到這一點。 – bla0009

+0

我需要給產品打折。這些都是與自定義選項相同的產品。根據用戶選擇的自定義選項(與產品關聯),觀察者正在更新屬性,以便應用折扣。我正在使用sales_quote_save_after觀察者。如果你說的是真的,那麼我設定屬性的方法肯定是錯誤的。 –

+0

你是否嘗試開發一個magento擴展或使用magento?如果是2,您可以嘗試在magento管理端使用促銷/購物車規則,因爲您可以爲您的需要創建條件 – Pablote

回答

0

你可能使用了錯誤的事件。您是否嘗試使用此事件checkout_cart_product_add_after

這是你的觀察者應該如何看起來像:

$quoteItem = $observer->getEvent()->getQuoteItem(); 
$product = $observer->getEvent()->getProduct(); 
// your code here