que he estado tratando de hacer algo que parece que debería ser simple:Viendo los cambios de datos del modelo de Magento en el evento antes/después de guardar?
- gancho de un evento MODEL_save_after (o MODEL_save_before si eso es más apropiado)
- cheque getData() vs getOrigData() para ver qué cambios que el usuario ha realizado
Ahora, en el ejemplo del modelo 'dirección_de_cliente', editado a través del servidor, encuentro que ambos eventos guardados se desencadenan dos veces.
La primera vez que se desencadena 'customer_address_save_before', seguido de 'customer_address_save_after'. En ambos casos, getOrigData() y getData() son idénticos, excepto que getData() tiene un nuevo valor 'updated_at', y tiene un conjunto 'store_id' (¿esto es un error?). Entonces, el modelo aún no tiene los datos enviados por el usuario. Los eventos son antes de ingresar datos de usuario o validación, por lo que esto no sirve de nada.
'customer_address_save_before' se activa, seguido de 'customer_address_save_after' por segunda vez. Esta vez (en ambos casos), getOrigData() está vacío y getData() ahora tiene todos los datos enviados por el usuario. ¡Así que no puedo comparar estos eventos tampoco! ¡Parece que esto es después de la validación, el ahorro, el lote!
Tampoco estoy seguro de por qué el proceso de guardar aparece dos veces?
Magento v1.3.2.4 en uso.
¿Echo de menos algo?
¿Cuál es el nombre del evento al que te estás conectando? –
customer_address_save_after o customer_address_save_before. Curiosamente, ¡los datos en el modelo en los dos casos son idénticos! – KingJackaL