在customer_save_before中获取旧电子邮件

时间:2010-07-12 14:37:16

标签: php magento

我需要收到旧电子邮件,并使用customer_save_before事件

与新电子邮件进行比较

测试以监听customer_save_before事件,getData('email')返回一封新电子邮件并且getOrigData('email')无法正常工作

使用customer_save_after测试我并且不工作,getOrigData('email')返回1并且getData('email')返回一封新电子邮件。

有什么方法可以判断哪个是已更改的电子邮件?

使用:magento-1.4.0.1

由于

1 个答案:

答案 0 :(得分:2)

在customer_save_before中,旧数据仍应存在于数据库中,因此您可以尝试根据ID从模型中获取客户:

$old_email = Mage::getModel('customer/customer')->load($customer->getId())->getEmail();

上述代码行假定您 $ customer 是您从活动中获得的客户对象。

如果我的推理是正确的,则检索到的客户数据应包含旧的电子邮件地址。