Magento Cart改变总成本

时间:2016-05-19 13:38:39

标签: php api magento checkout cart

基本上,我有一个模块需要修改购物车的价格而不接触任何产品,说我有2个测试项目:

  • 测试项目 - x1 - 36.99
  • 测试项目2 - x3 - 9.99

总价格是66.99,我需要将其更改为40.99(40.99)是可变的,因为(66.99)有任何方法可以做到这一点,同时遵守Magento的API

1 个答案:

答案 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);

}