0

私のsales_quote_add_item-observer では、標準的な方法でカスタム エラー メッセージを表示して製品の追加を中止するにはどうすればよいですか? 明らかにそれをグーグルで調べて、あまり賢くならずにコアソースをチェックしようとしました...

4

1 に答える 1

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)
于 2013-01-28T10:15:37.163 に答える