4

我有一个 Magento 网店(1.9.2.3.),有很多注册客户。在我的账户 -> 忘记密码时,注册客户可以填写他/她的电子邮件地址。单击“发送”按钮时,商店会显示“服务器错误 500”。

这是唯一出现错误的地方。可能是什么问题?该怎么做才能解决这个问题?

这是页面,您可以尝试使用我的电子邮件:pvanremmen@prsocial.nl https://www.hoesjesonline.nl/customer/account/forgotpassword/

我希望有一个解决方案。

PS:问题出在 Magento 1.9.2.2,刚刚升级到 1.9.2.3,它仍然存在。

更新:来自日志的错误:[Mon Jan 25 15:14:00.768731 2016] [:error] [pid 10335] [client 77.172.241.31:62120] PHP 致命错误:在非对象上调用成员函数 getBackend()在 /home/hoesjeson/domains/hoesjesonline.nl/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php 第 1548 行,引用者:https ://www.hoesjesonline.nl/customer/account /forgotpassword/ [Mon Jan 25 15:14:34.977753 2016] [:error] [pid 9480] [client 77.172.241.31:62129] PHP 致命错误:在 /home 中的非对象上调用成员函数 getBackend() /hoesjeson/domains/hoesjesonline.nl/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php 1548 行,参考:https ://www.hoesjesonline.nl/customer/account/forgotpassword/

4

4 回答 4

5

从 Magento 1.9.2.2 开始,需要发送带有忘记密码表单的表单密钥。

在您的模板customer/form/forgotpassword.phtml中输入:

<?php echo $this->getBlockHtml('formkey'); ?>

就在<form action="...">标签下。刷新缓存并查看页面中是否存在带有表单键的隐藏输入。

希望这能解决您的问题:)

于 2016-01-24T16:10:36.730 回答
1

从您的主题中打开customer/form/forgotpassword.phtml 。请首先检查表单操作。它应该是baseurl+customer/account/forgotpasswordpost/

<form action="baseurl+/customer/account/forgotpasswordpost/">

现在检查表单键是否存在。如果表单键不存在,则放在表单标签之间的行下方。

<?php echo $this->getBlockHtml('formkey'); ?>

不要忘记刷新缓存。希望它可以帮助你。

于 2016-01-25T03:46:59.360 回答
1

好的,我找到了开发人员的解决方案。Magento 版本升级后,数据库中的客户表不知何故损坏。重建数据库中的客户表就成功了!

于 2016-02-04T14:59:34.743 回答
1

您可以尝试此修复,转到主题的layout/customer.xml并添加:

<customer_account_changeforgotten translate="label">
    <label>Reset a Password</label>
    <remove name="right"/>
    <remove name="left"/>

    <reference name="head">
        <action method="setTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="root">
        <action method="setTemplate">
            <template>page/1column.phtml</template>
        </action>
        <action method="setHeaderTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="content">
        <block type="customer/account_changeforgotten" name="changeForgottenPassword" template="customer/form/resetforgottenpassword.phtml"/>
    </reference>
</customer_account_changeforgotten>

更多详情:http ://www.dudesquare.nl/blog/2015/11/03/reset-password-blank-page-magento-1-9-2-2/

于 2018-01-03T10:33:22.907 回答