从sales_quote_add_item观察者中止产品添加

时间:2013-01-28 10:08:31

标签: php magento observers

在我的sales_quote_add_item - 观察者中,我如何以标准方式中止产品添加自定义错误消息?显然尝试谷歌它并检查核心来源,而不是更明智......

1 个答案:

答案 0 :(得分:1)

您可能会抛出新的异常。像:

Mage::throwException(
            Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.')
        );

查看调用sales_quote_add_item事件的类和方法:

class Mage_Sales_Model_Quote extends Mage_Core_Model_Abstract
...
public function addItem(Mage_Sales_Model_Quote_Item $item)

它还会抛出异常,该异常将在控制器中捕获,并将正确显示。

你也可以试试这个:

$observer->getEvent()->getQuoteItem()->getQuote()->addErrorInfo(..);
Mage::throwException(..);

以下是addErrorInfo函数的说明:

public function addErrorInfo($type = 'error', $origin = null, $code = null, $message = null, $additionalData = null)