在忘记密码表格中,我需要收到电子邮件并在magento检查之前更改它。
为什么?,因为我需要将客户个人号码(如9834592845)更改为他们在数据库中的电子邮件商店(bla@ble.bli)
我参加活动: controller_action_predispatch_customer_account_forgotpassword
但我无法收到电子邮件,我试过
$username = $observer->getRequest()->getPost('email');
$username = $observer->getRequest()->getPost();
$postData = Mage::app()->getRequest()->getPost();
$username = $observer->getData('email');
$username = $observer->getEmail();
$username = $_POST;
$username = $_POST['login']['username'];
$username = $_POST['login']['email'];
Mage::log($username);
以及更多,但没有。
我做错了什么。
我感谢任何帮助。
答案 0 :(得分:0)
您可以使用customer_save_before
观察者,因为您可以编写自己的代码
示例:强>
public function detectPwdChange(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$customer = $event->getCustomer();
$postData = Mage::app()->getRequest()->getPost();
if($customer instanceof Mage_Customer_Model_Customer && !$customer->isObjectNew()) {
if( $postData['change_password'] == 1 && $postData['current_password'] != $postData['password'] ) {
// Do something
}
}
return $this;
}