3

我正在研究magento。我想添加一个功能,当用户下订单时,会在订单的历史评论中添加评论。我已经浏览了代码并知道该功能

 public function addStatusHistoryComment($comment, $status = false)

在 order.php 中用于添加注释。我想在用户下订单时访问它。那么我该怎么做呢?有人知道吗?

4

1 回答 1

4

与 Magento 中的任何东西一样,有很多方法。

首先,您需要编写一个模块。在该模块中,您可以侦听结帐成功事件 - checkout_onepage_controller_success_action。使用模块 etc/config.xml 执行此操作,例如:

    <events>
        <checkout_onepage_controller_success_action>
            <observers>
                <whatever>
                    <type>singleton</type>
                    <class>whatever/observer</class>
                    <method>checkout_onepage_controller_success_action</method>
                </whatever>
            </observers>
        </checkout_onepage_controller_success_action>
    </events>

在您的观察者中,您加载最后一个订单,将您的评论附加到它,然后您保存您的订单。您描述的方法将完美运行。您还可以处理订单状态,这样做可以让您在需要时向客户发送电子邮件:

public function checkout_onepage_controller_success_action($observer) {
    $orderIds=$observer->getData('order_ids');
    foreach ($orderIds as $orderId) {
        $order = new Mage_Sales_Model_Order();
        $order->load($orderId);

        ... Do Something!

        $order->setState('processing', 'invoiced', 'Hello World!');
        $order->save();
    }

我希望这会有所帮助!

于 2012-09-24T14:44:00.597 回答