我尝试使用自定义选项更改价格,但它无效。
例如,我的产品价格是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);
}
}
?>
答案 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);
}
}
?>