I really hope someone here can help out with this.
I’m using Magento 1.6.1.0 new install
If a customer clicks the forgotten password link on the frontend, they are sent an email with a link to click. When they click the link in the email, a blank white page is shown in the browser (no prompt to reset pword). The path when the email link is launched looks like this:
www.mystore.com/customer/account/resetpassword/?id=4 token=26f8abcc1efd5559ce81ced2706586db
The "error_log" said:
30-Nov-2011 07:42:50] PHP Fatal error: Call to a member function setCustomerId() on a non-object in /home3/bestcara/public_html/app/code/core/Mage/Customer/controllers/AccountController.php on line 587
and here’s the code block from AccountController.php
* Display reset forgotten password form
*
* User is redirected on this action when he clicks on the corresponding link in password reset confirmation email
*
*/
public function resetPasswordAction()
{
$resetPasswordLinkToken = (string) $this->getRequest()->getQuery('token');
$customerId = (int) $this->getRequest()->getQuery('id');
try {
$this->_validateResetPasswordLinkToken($customerId, $resetPasswordLinkToken);
$this->loadLayout();
// Pass received parameters to the reset forgotten password form
$this->getLayout()->getBlock('resetPassword')
->setCustomerId($customerId),<------------------------------------Line 587
->setResetPasswordLinkToken($resetPasswordLinkToken);
$this->renderLayout();
} catch (Exception $exception) {
$this->_getSession()->addError(Mage::helper('customer')->__('Your password reset link has expired.'));
$this->_redirect('*/*/');
}
}
I really need to fix this as soon as possible. Any help is much appreciated!
Looks like my theme was not supported for Magento 1.6.1.0
go to:
app/design/frontend/default/[your_custom_theme_folder]/layout/customer.xml
add these codes:
Works like a charm!