遇到这个问题。我们有一个客户需要将Firecheckout中的客户评论字段添加到查看订单时管理员后端显示的订单评论中。我创建了一个观察者,并尝试了几种不同的方法但没有成功。
这是我的代码:
等/模块/ decoder_ordercomments.xml
<?xml version="1.0"?>
<config>
<modules>
<decoder_ordercomments>
<active>true</active>
<codePool>local</codePool>
</decoder_ordercomments>
</modules>
</config>
这是app / code / local / decoder / model / Observer.php
<?php
class decoder_ordercomments_Model_Observer extends Varien_Object
{
/**
* Add a customer order comment when the order is placed
* @param object $event
* @return
*/
public function saveOrder($evt)
{
$_order = $evt->getOrder();
$request = Mage::app()->getRequest();
$_comments = strip_tags($_order.getData('firecheckout_customer_comment'));
if(!empty($_comments)){
$_comments = 'Additional Order Comments: ' . $_comments;
$_order->addStatusHistoryComment($_comments);
$_order->save();
}
return $this;
}
}
这是app / code / local / decoder / etc / config.xml
<?xml version="1.0"?>
<config>
<modules>
<decoder_ordercomments>
<version>0.1.0</version>
</decoder_ordercomments>
</modules>
<frontend>
<events>
<checkout_type_onepage_save_order_after>
<observers>
<decoder_ordercomments>
<type>singleton</type>
<class>decoder_ordercomments_Model_Observer</class>
<method>saveOrder</method>
</decoder_ordercomments>
</observers>
</checkout_type_onepage_save_order_after>
</events>
</frontend>
我考虑过破解firecheckout代码本身,但我非常希望将其作为一个独立的观察者保留,以避免每次TM更新时都必须更新它。