2

我已经安装了iwd_onepagecheckout 扩展

客户可以在他们的订单中添加评论。

现在我想将此“评论”添加到订单电子邮件中。评论将保存在 Tablesales_flat_order_status_history中,其中包含以下列:

entity_id、parent_id、is_customer_notified、is_visible_on_front、评论、状态、created_at、entity_name

我已经搜索了论坛,但找不到如何做到这一点。

4

2 回答 2

1

我解决了!

在 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);
    }
}
于 2012-09-20T20:32:50.037 回答
1

上面的答案是正确的。但是,它会复制管理面板中的评论。您有一次评论没有通知客户,第二次通知客户。

您需要评论或删除该行$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);
    }
}
于 2013-01-09T23:05:44.017 回答