忘记密码在magento 1.9.0.1中不起作用

时间:2014-07-16 17:06:25

标签: magento-1.9.1

您好,当客户点击"忘记密码"他们收到电子邮件,其中包含重置链接。单击时,这是他们收到的错误。致命错误:在第750行的/home/ishieldz/public_html/store/app/code/core/Mage/Customer/controllers/AccountController.php中的非对象上调用成员函数setCustomerId() 任何帮助,将不胜感激。谢谢!

/ **      *显示重置忘记密码表格      *      *当用户点击密码重置确认电子邮件中的相应链接时,将重定向此操作      *       /     public function resetPasswordAction()     {         $ resetPasswordLinkToken =(string)$ this-> getRequest() - > getQuery(' token');         $ customerId =(int)$ this-> getRequest() - > getQuery(' id');         尝试{             $ this-> _validateResetPasswordLinkToken($ customerId,$ resetPasswordLinkToken);             $这 - > loadLayout();             //将收到的参数传递给重置忘记密码表单             $这 - > getLayout() - > getBlock(' resetPassword')                  - > setCustomerId($客户ID)                  - > setResetPasswordLinkToken($ resetPasswordLinkToken);             $这 - > renderLayout();         } catch(Exception $ exception){             $ this-> _getSession() - > addError($ this-> _getHelper(' customer') - > __('您的密码重置链接已过期。') );             $这 - > _redirect(' / * / forgotpassword&#39);         }     }

3 个答案:

答案 0 :(得分:1)

如果你在 Magento 1.9.1 这是一个对我有用的解决方案。

如果您的主题不包含任何特定的自定义配置或布局设置,您可以安全删除位于/app/design/frontend/default/<your_theme_package>/<your_theme_name>/layout/customer.xml <的customer.xml(或只是重命名为customer1.xml)文件/ p>

  

如果删除此文件,magento将加载默认配置选项   (带有更新)来自出厂默认的magento主题。   /app/design/frontend/base/default/layout/customer.xml

请记住通过管理区域刷新/刷新magento配置,这将强制重新加载customer.xml文件。

答案 1 :(得分:0)

似乎你调用了一个未声明的对象,所以也许它只是一个变量。 验证您是否在AccountController.php

中的第750行之前声明了您的对象

您必须放置对象的声明(例如:$ ob = new Customer();) 包含setCustomerId()方法的方法正在运行的方法中。

答案 2 :(得分:0)

登录magento。去系统,设计。删除当前主题,然后重新添加。