如何在使用自定义选项选择价格添加到magento购物车之前更改价格?

时间:2016-08-20 07:10:56

标签: php magento

我尝试使用自定义选项更改价格,但它无效。

例如,我的产品价格是100美元,选择后自定义选项价格是110美元,它很好,但我想当我点击添加到购物车所以,这次,我想在$ 110增加50美元。最终在购物车页面上花了160美元。

这是我的Observer代码,用于更改价格。请指导我一些错误的代码。     

class DRC_PriceChange_Model_Observer  {

    public function change_price(Varient_Event_Observer $observer) 
    {    
        $new_price = 50;
        $event = $observer->getEvent();
        $quote_item = $event->getQuoteItem();
        $item->setCustomPrice($new_price);
        $item->setOriginalCustomPrice($new_price);
        $item->getProduct()->setIsSuperMode(true);      
    }
}
?>

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。使用下面给出的代码:

<?php
class DRC_PriceChange_Model_Observer  {

    public function change_price(Varient_Event_Observer $observer) 
    {   
        $item = $observer->getQuoteItem();
        if ($item->getParentItem()) {$item = $item->getParentItem();}
        $price = $item->getProduct()->getFinalPrice();
        $new_price = 20 + $price;

        $item->setCustomPrice($new_price);
        $item->setOriginalCustomPrice($new_price);
        $item->getProduct()->setIsSuperMode(true);      
    }
}
?>