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