Я зарегистрировал наблюдателя для sales_order_save_commit_after
события, которое будет уведомлено, когда поступит новый заказ. Это работает отлично, но событие запускается два раза подряд с тем же заказом.
Мой 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>
Как я могу проверить, будет ли это в первый раз или какое другое событие будет лучше?
Обновить
Я также попробовал sales_order_invoice_pay
событие (найденное на SO ), но это не сработало для меня.
источник
sales_order_save_after
работает, но я буду использовать, такsales_order_place_after
как он не запускается снова изменениями на сервере.Если у кого-то все еще есть проблемы с этим, я узнал, как magento справляется с этим.
В вызываемом методе вы можете принять заказ и установить на нем флаг.
Пример:
В приложении / код / ядро / маг / каталог инвентарь / модель / Observer.php
функция subtractQuoteInventory (Varien_Event_Observer $ наблюдатель)
пример того, как magento справляется с этим.
источник
Я изменил событие на
sales_order_place_after
. Это отлично работает.источник
Код Bove работает для меня.
источник