基本上,我有一个模块需要修改购物车的价格而不接触任何产品,说我有2个测试项目:
总价格是66.99,我需要将其更改为40.99(40.99)是可变的,因为(66.99)有任何方法可以做到这一点,同时遵守Magento的API
答案 0 :(得分:1)
您可以使用将产品添加到购物车时触发的Magentos事件之一。例如sales_quote_add_item
事件。
然后,您可以创建一个观察者,在其中更新添加到购物车的商品的价格。 这不会以任何方式改变实际产品的价格,而只会改变特定的报价项目。
更新价格的观察员方法示例
public function updatePrice(Varien_Event_Observer $observer){
$item = $observer->getQuoteItem();
$price = $item->getProduct()->getFinalPrice();
$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
$item->setPrice($price);
$item->getProduct()->setIsSuperMode(true);
}