Magento - 提交发票事件和价格比较

时间:2011-10-29 10:22:59

标签: magento invoice dispatchevent

所有!

我正在尝试在提交发票后按顺序比较价格,例如GrandTotal和TotalPaid。 我正在尝试听“sales_order_invoice_save_after”事件。

config.xml
...
<events>
    <sales_order_invoice_save_after>
        <observers>
            <orderapi>
                <class>orderapi/observer</class>
                <method>checkInvoiceSubmit</method>
            </orderapi>
        </observers>
    </sales_order_invoice_save_after>
</event>
...

和下一步:

Observer.php
 public function checkInvoiceSubmit(Varien_Event_Observer $observer)
 {
    $event = $observer->getEvent()->getInvoice();
$paid = $event->getState();
        if($paid == 2) {
        echo $paid."<br/>";
     }
    var_dump("Grand ".$event->getGrandTotal());
    var_dump("Paid ".$event->getTotalPaid());
    var_dump("Due ".$event->getTotalDue());
    var_dump("Refunden "$event->getTotalRefunden());

    die;
}

并看到: 89.97分, 支付NULL, DUE NULL, 重新抛弃NULL。

输入: 总计89.97英镑, 总付款£0.00, 退款总额£0.00, 总到期£89.97。

如何在确认付款后正确比较两个价格(总价和总价)?

1 个答案:

答案 0 :(得分:1)

解决方案是:

$event = $observer->getEvent()->getInvoice()->getOrder();

享受!