Magento 1 y Magento 2 tienen los dos eventos:
sales_order_place_after
sales_order_save_after
.
Tengo cierta confusión sobre ellos, ¿cuáles son las diferencias detalladas entre ellos?
¿Qué situación usar?
fuente
Magento 1 y Magento 2 tienen los dos eventos:
sales_order_place_after
sales_order_save_after
.Tengo cierta confusión sobre ellos, ¿cuáles son las diferencias detalladas entre ellos?
¿Qué situación usar?
sales_order_place_after
Mage_Sales_Model_Order::place()
Magento 1 y \Magento\Sales\Model\Order::place()
Magento 2sales_order_save_after
Este evento extiende el modelo abstracto. Mage_Core_Model_Abstract
Por ej. el Mage_Sales_Model_Order
prefijo evento de clase es sales_order
, por lo que el nombre del evento real de carga después será sales_order_load_after
.
1. sales_order_place_after:
Este evento se envía desde el
class Mage_Sales_Model_Order extends Mage_Sales_Model_Abstract
{
...
public function place()
{
Mage::dispatchEvent('sales_order_place_before', array('order'=>$this));
$this->_placePayment();
Mage::dispatchEvent('sales_order_place_after', array('order'=>$this));
return $this;
}
Este evento se envía solo después de hacer clic en realizar pedido desde la interfaz.
2. sales_order_save_after:
Este evento se activa al guardar el orden, ya sea desde el backend o la interfaz. Cada vez que se realiza alguna edición en orden y se guarda, se envía este evento. Este evento se envía al realizar el pedido desde la interfaz también.