我需要收到旧电子邮件,并使用customer_save_before事件
与新电子邮件进行比较测试以监听customer_save_before事件,getData('email')返回一封新电子邮件并且getOrigData('email')无法正常工作
使用customer_save_after测试我并且不工作,getOrigData('email')返回1并且getData('email')返回一封新电子邮件。
有什么方法可以判断哪个是已更改的电子邮件?
使用:magento-1.4.0.1
由于
答案 0 :(得分:2)
在customer_save_before中,旧数据仍应存在于数据库中,因此您可以尝试根据ID从模型中获取客户:
$old_email = Mage::getModel('customer/customer')->load($customer->getId())->getEmail();
上述代码行假定您 $ customer 是您从活动中获得的客户对象。
如果我的推理是正确的,则检索到的客户数据应包含旧的电子邮件地址。