我试图告诉用户他们在登录期间输入的电子邮件地址或密码是错误的,而不是默认的“无效的电子邮件或密码”错误。
我去了相关的控制器文件:
.../app/code/core/Mage/Customer/controllers/accountcontroller.php
并将第 141 行的代码更改为:
catch (Mage_Core_Exception $e) {
switch ($e->getCode()) {
case Mage_Customer_Model_Customer::EXCEPTION_INVALID_EMAIL_OR_PASSWORD:
if(Zend_Validate::is($login['username'], 'EmailAddress'))
$message = $this->__('Wrong password.');
else
$message = $this->__('That email address was not found.');
//$message = $e->getMessage();
break;
我使用同一文件中 forgotPasswordPostAction() 函数中的 Zend_Validate::is() 来检查电子邮件是否已注册。但它在登录期间不起作用。即使电子邮件未注册,我也总是收到“密码错误”消息。
是因为我使用 Zend_Validate::is() 错误吗?检查电子邮件是否已注册的正确功能是什么?
谢谢!