2012-09-24 113 views
3

我正在magento上工作。我想添加一项功能,当用户下订单时,评论会添加到订单的历史评论中。我已经通过代码,并知道功能发表评论订购magento

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

在order.php用于添加评论。我想在用户下订单时访问它。那我该怎么做?有没有人有任何想法?

回答

4

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

首先你需要编写一个模块。在该模块中,您可以监听结帐成功事件 - checkout_onepage_controller_success_action。做到这一点与模块等/ config.xml中,e.g:

<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(); 
    } 

我希望帮助!

+0

我有我的会话中的数据。那么我如何访问并将其附加到评论? – MJQ

+0

不知道我可以帮助你进一步不知道更多的细节。 – Theodores

+0

随着数据与会话一起传输,所以我有一个会话变量中的数据。当用户完成订单时,我想从会话中检索数据并将其追加到订单管理面板中看到的评论。所以我需要知道我该怎么做? – MJQ