在与Magento发生一些集成问题之后,我需要更新一些订单的状态和状态。但是,由于这些更新与客户并不真正相关,因此我不希望系统在此情况下为每个订单更新发送订单通知电子邮件。
什么行不通:
$historyItem = $order->addStatusHistoryComment('some comment', 'complete');
$historyItem->setIsVisibleOnFront(false);
$historyItem->setIsCustomerNotified(false);
$historyItem->save();
$order->save();
答案 0 :(得分:3)
在Mage_Sales_Model_Order_Status_History
中,如果您提供参数setIsCustomerNotified
或常量null
的值,则可以看到Mage_Sales_Model_Order_Status_History::CUSTOMER_NOTIFICATION_NOT_APPLICABLE
方法会禁止通知。令人困惑的是,使用false
会导致发送通知。
此代码块有效 - 修改订单状态,添加仅在后端可见的注释,并且不会触发向客户端发送通知电子邮件:
$historyItem = $order->addStatusHistoryComment('some comment', 'complete');
$historyItem->setIsVisibleOnFront(false);
$historyItem->setIsCustomerNotified(Mage_Sales_Model_Order_Status_History::CUSTOMER_NOTIFICATION_NOT_APPLICABLE);
$historyItem->save();
$order->save();