我已经安装了iwd_onepagecheckout 扩展。
客户可以在他们的订单中添加评论。
现在我想将此“评论”添加到订单电子邮件中。评论将保存在 Tablesales_flat_order_status_history
中,其中包含以下列:
entity_id、parent_id、is_customer_notified、is_visible_on_front、评论、状态、created_at、entity_name
我已经搜索了论坛,但找不到如何做到这一点。
我已经安装了iwd_onepagecheckout 扩展。
客户可以在他们的订单中添加评论。
现在我想将此“评论”添加到订单电子邮件中。评论将保存在 Tablesales_flat_order_status_history
中,其中包含以下列:
entity_id、parent_id、is_customer_notified、is_visible_on_front、评论、状态、created_at、entity_name
我已经搜索了论坛,但找不到如何做到这一点。
我解决了!
在 onepagecheckout 扩展的observer.php 中:
public function addHistoryComment($data)
{
$comment = Mage::getSingleton('customer/session')->getOrderCustomerComment();
$comment = trim($comment);
if (!empty($comment))
{
$data['order']->addStatusHistoryComment($comment)->setIsVisibleOnFront(true)->setIsCustomerNotified(false);
$order = $data->getEvent()->getOrder();
$order->setCustomerComment($comment);
$order->setCustomerNoteNotify(true);
$order->setCustomerNote($comment);
}
}
上面的答案是正确的。但是,它会复制管理面板中的评论。您有一次评论没有通知客户,第二次通知客户。
您需要评论或删除该行$data['order']->addStatusHistoryComment($comment)->setIsVisibleOnFront(true)->setIsCustomerNotified(false);
,因为这会将评论添加到管理端的订单页面,但它不会通知客户。
所以最终的脚本应该是:
public function addHistoryComment($data)
{
$comment = Mage::getSingleton('customer/session')->getOrderCustomerComment();
$comment = trim($comment);
if (!empty($comment))
{
$order = $data->getEvent()->getOrder();
$order->setCustomerComment($comment);
$order->setCustomerNoteNotify(true);
$order->setCustomerNote($comment);
}
}