Magento-添加来自观察者事件的订单注释

Magento-添加来自观察者事件的订单注释,magento,comments,audit,Magento,Comments,Audit,我一直在为此痛打自己,希望有人能帮助我 我有几个观察者事件运行得很好,只是其中一个似乎不起作用 creditmemoRefund函数不会向订单添加注释。命令2工作正常,它确实像预期的那样开火,并且确实拉动了命令对象。为什么不加评论呢 这是我的密码 config.xml <?xml version="1.0"?> <config> <modules> <Avi_OrderAudit> <version>0.0.1&

我一直在为此痛打自己,希望有人能帮助我

我有几个观察者事件运行得很好,只是其中一个似乎不起作用

creditmemoRefund函数不会向订单添加注释。命令2工作正常,它确实像预期的那样开火,并且确实拉动了命令对象。为什么不加评论呢

这是我的密码

config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Avi_OrderAudit>
      <version>0.0.1</version>
    </Avi_OrderAudit>
  </modules>
  <global>
<helpers>
  <orderaudit>
    <class>Avi_OrderAudit_Helper</class>
  </orderaudit>
</helpers>
<models>
  <orderaudit>
    <class>Avi_OrderAudit_Model</class>
    <resourceModel>orderaudit_mysql4</resourceModel>
  </orderaudit>
</models>
<events>
  <sales_order_place_after> <!-- identifier of the event we want to catch -->
    <observers>
      <sales_order_place_after_handler> <!-- identifier of the event handler -->
        <type>model</type> <!-- class method call type; valid are model, object and singleton -->
        <class>orderaudit/observer</class> <!-- observers class alias -->
        <method>orderPlaced</method>  <!-- observer's method to be called -->
        <args></args> <!-- additional arguments passed to observer -->
      </sales_order_place_after_handler>
    </observers>
  </sales_order_place_after>
  <sales_order_payment_capture> <!-- identifier of the event we want to catch -->
    <observers>
      <sales_order_payment_capture_handler> <!-- identifier of the event handler -->
        <type>model</type> <!-- class method call type; valid are model, object and singleton -->
        <class>orderaudit/observer</class> <!-- observers class alias -->
        <method>paymentCapture</method>  <!-- observer's method to be called -->
        <args></args> <!-- additional arguments passed to observer -->
      </sales_order_payment_capture_handler>
    </observers>
  </sales_order_payment_capture>
  <sales_order_creditmemo_refund> <!-- identifier of the event we want to catch -->
    <observers>
      <sales_order_creditmemo_refund_handler> <!-- identifier of the event handler -->
        <type>model</type> <!-- class method call type; valid are model, object and singleton -->
        <class>orderaudit/observer</class> <!-- observers class alias -->
        <method>creditmemoRefund</method>  <!-- observer's method to be called -->
        <args></args> <!-- additional arguments passed to observer -->
      </sales_order_creditmemo_refund_handler>
    </observers>
  </sales_order_creditmemo_refund>
</events>

0.0.1
Avi_OrderAudit_助手
Avi_OrderAudit_模型
orderaudit_mysql4
模型
订单审核/观察员
订购
模型
订单审核/观察员
薪酬捕获
模型
订单审核/观察员
信用记忆基金

Observer.php 类Avi_OrderAudit_Model_Observer {

public function orderplacted(变量事件观察者$Observer)
{
if(Mage::getSingleton('admin/session')->isLoggedIn(){
//如果管理员
$order=$observer->getEvent()->getOrder();
$user=Mage::getSingleton('admin/session');
$username=$user->getUser()->getUsername();
$comment=“订单由”下,$username.”;
$order->addStatusHistoryComment($comment)
->setIsVisibleOnFront(错误)
->setIsCustomerNotified(假);
}
否则{
//由客户在线放置
$order=$observer->getEvent()->getOrder();
$order->addStatusHistoryComment('客户在线下的订单')
->setIsVisibleOnFront(错误)
->setIsCustomerNotified(假);
}
}
公共功能付费捕获(Varien_Event_Observer$Observer)
{
$invoice=$observer->getEvent()->getInvoice();
$order=$invoice->getOrder();
$user=Mage::getSingleton('admin/session');
$username=$user->getUser()->getUsername();
$comment=“由捕获的付款。”$username。””;
$order->addStatusHistoryComment($comment)
->setIsVisibleOnFront(错误)
->setIsCustomerNotified(假);
}
公共功能creditmemoRefund(变量事件观察者$Observer)
{
$creditmemo=$observer->getEvent()->getCreditmemo();
$order=$creditmemo->getOrder();
$user=Mage::getSingleton('admin/session');
$username=$user->getUser()->getUsername();
$comment=“通过退款”。$username.”;
$order->addStatusHistoryComment($comment)
->setIsVisibleOnFront(错误)
->setIsCustomerNotified(假);
}
}
之后

$order->addStatusHistoryComment($comment)
            ->setIsVisibleOnFront(false)
            ->setIsCustomerNotified(false);
你需要

$order->save();

我相信我有另一个模块观察同样的事件。禁用了所有本地和社区模块,它开始正常工作。
$order->save();