Saya mendaftarkan pengamat agar sales_order_save_commit_after
acara tersebut diberitahukan ketika ada pesanan baru. Ini berfungsi dengan baik tetapi acara tersebut dipicu dua kali berturut-turut dengan urutan yang sama.
Config.xml saya
<sales_order_save_commit_after>
<observers>
<unique_sales_order_save_commit_after>
<type>singleton</type>
<class>mymodule/observer</class>
<method>export</method>
</unique_sales_order_save_commit_after>
</observers>
</sales_order_save_commit_after>
Bagaimana saya bisa mengecek apakah ini pertama kalinya atau acara lain mana yang lebih baik?
Memperbarui
Saya juga mencoba sales_order_invoice_pay
acara (ditemukan di SO ) tetapi itu tidak dipicu untuk saya.
sumber
sales_order_save_after
berfungsi tetapi saya akan menggunakannyasales_order_place_after
karena tidak dipicu lagi oleh perubahan back end.Jika ada yang masih mengalami masalah dengan ini, saya menemukan bagaimana Magento berurusan dengan ini.
Dalam metode yang dipanggil Anda dapat mengambil pesanan dan menetapkan bendera di atasnya.
Ex:
Dalam aplikasi / kode / inti / Mage / Kataloginventory / Model / Observer.php
function subtractQuoteInventory (Varien_Event_Observer $ observer)
adalah contoh bagaimana Magento berurusan dengan ini.
sumber
Saya mengubah acara menjadi
sales_order_place_after
. Ini berfungsi dengan baik.sumber
Kode Bove bekerja untuk saya.
sumber