Ich habe einen Beobachter für das sales_order_save_commit_after
Ereignis registriert , der benachrichtigt werden soll, wenn eine neue Bestellung eingeht. Dies funktioniert einwandfrei, aber das Ereignis wird zweimal hintereinander mit derselben Reihenfolge ausgelöst.
Meine config.xml
<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>
Wie kann ich überprüfen, ob es das erste Mal ist oder welches andere Ereignis besser wäre?
Aktualisieren
Ich habe auch das sales_order_invoice_pay
Ereignis ausprobiert (auf SO gefunden ), aber das wird für mich nicht ausgelöst.
quelle
sales_order_save_after
funktioniert, aber ich werde verwenden,sales_order_place_after
da es nicht wieder durch Back-End-Änderungen ausgelöst wird.Wenn jemand immer noch Probleme damit hat, habe ich herausgefunden, wie Magento damit umgeht.
In der aufgerufenen Methode können Sie die Bestellung annehmen und ein Flag darauf setzen.
Ex:
In app / code / core / Mage / Katalogverzeichnis / Model / Observer.php
Funktion subtractQuoteInventory (Varien_Event_Observer $ Observer)
ist ein Beispiel dafür, wie Magento damit umgeht.
quelle
Ich habe die Veranstaltung in geändert
sales_order_place_after
. Das funktioniert gut.quelle
Der Bove-Code funktioniert für mich.
quelle