0

全て!

請求書を提出した後、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、Refunden NULL。

入力: 総計 £89.97、総支払い £0.00、総返金 £0.00、総支払 £89.97。

支払いの確認後、2 つの価格 (Grand と Total) を正しく比較するにはどうすればよいですか?

4

1 に答える 1

1

解決策は次のとおりです。

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

楽しみ!

于 2011-11-05T08:03:13.257 に答える