如何在不触发通知电子邮件的情况下更新Magento订单状态?

时间:2015-12-16 10:53:42

标签: magento

在与Magento发生一些集成问题之后,我需要更新一些订单的状态和状态。但是,由于这些更新与客户并不真正相关,因此我不希望系统在此情况下为每个订单更新发送订单通知电子邮件

什么行不通:

$historyItem = $order->addStatusHistoryComment('some comment', 'complete');
$historyItem->setIsVisibleOnFront(false);
$historyItem->setIsCustomerNotified(false);
$historyItem->save();
$order->save();

1 个答案:

答案 0 :(得分:3)

Mage_Sales_Model_Order_Status_History中,如果您提供参数setIsCustomerNotified或常量null的值,则可以看到Mage_Sales_Model_Order_Status_History::CUSTOMER_NOTIFICATION_NOT_APPLICABLE方法会禁止通知。令人困惑的是,使用false会导致发送通知。

更新Magento订单状态而不向客户发送通知电子邮件

此代码块有效 - 修改订单状态,添加仅在后端可见的注释,并且不会触发向客户端发送通知电子邮件:

$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();