我正在研究magento。我想添加一个功能,当用户下订单时,评论会添加到订单的历史评论中。我已经完成了代码并且知道了函数
public function addStatusHistoryComment($comment, $status = false)
order.php中的用于添加注释。我想在用户下订单时访问它。那我该怎么做呢?有人有任何想法吗?
答案 0 :(得分: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();
}
我希望有所帮助!