2010-07-12 4 views
2

i besoin obtenir un vieux email et comparer avec un nouvel e-mail en utilisant événement customer_save_beforeObtenez un ancien Email à customer_save_before

Test pour écouter customer_save_before événement, getData ('email') retourne un nouvel e-mail et getOrigData ('email') ne fonctionne pas

Testez moi aussi avec customer_save_after et ne fonctionne pas, getOrigData ('email') return 1 et getData ('email') retourne un nouvel email.

est-il possible de dire quel est l'e-mail qui a été modifié?

utilisation: magento-1.4.0.1

Merci

Répondre

2

Dans le customer_save_before, les anciennes données doivent toujours être présents dans le DB, vous pouvez donc essayer d'obtenir le client à partir du modèle basé sur ID:

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

la ligne ci-dessus code suppose que vous client $ est l'objet client que vous obtenez de l'événement.

Si mon raisonnement est correct, les données client récupérées doivent contenir l'ancienne adresse e-mail.

+0

Oh, merci vraiment de travailler !! Merci encore! – Zarpele

+0

Heureux que je pourrais aider. Si vous avez trouvé cette réponse utile, veuillez l'accepter ou la modifier. – silvo

Questions connexes