Magento 1.9结帐 - 客户电子邮件地址未保存。使用Awesomecheckout

时间:2014-10-06 17:07:10

标签: php magento checkout

道歉,这将是一个有点模糊的问题。

我在Mangento 1.9上运行了一个定制版本的Awesomecheckout(单页结帐),但是我遇到了一个问题,即当客户的电子邮件地址没有保存在数据库中时作为客人退房。

我认为这很容易就是我自己造成的,所以不太可能有人立刻知道解决方案,但我希望有人可能会指出我可能会对哪些文件负责

我发现/app/code/Core/Mage/Checkout/Model/Type/Onepage.php确实在saveBilling()中显示了该邮件(它出现在$ address-> getEmail()下面和$ this-> getQuote() - > getCustomerEmail()),但我无法解决接下来发生的事情(以及丢失的地方)。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的错误。在/app/code/core/Mage/Checkout/Model/Type/Onepage.php文件中,magento使用$ result = $ customer-> validate();验证客户数据。绕440线。

此函数尝试获取电子邮件地址并对其进行验证。

但在我的情况下,$ customer对象中没有电子邮件数据。

1)将<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <!DOCTYPE html> <div class="LL"> 1. <input class="test" type="checkbox" name=testa[] value="test1"> 2. <input class="test" type="checkbox" name=testb[] value="test2"> 3. <input class="test" type="checkbox" name=testc[] value="test3"> <input name="LanguageLevels[]" id="LanguageLevels" size="37" placeholder="<--Please Choose one of the three" readonly> </div> <div class="LL"> 1. <input class="test" type="checkbox" name=testa[] value="test4"> 2. <input class="test" type="checkbox" name=testb[] value="test5"> 3. <input class="test" type="checkbox" name=testc[] value="test6"> <input name="LanguageLevels[]" id="LanguageLevels" size="37" placeholder="<--Please Choose one of the three" readonly> </div>复制到/app/code/core/Mage/Checkout/Model/Type/Onepage.php

2)找到这一行:/app/code/local/Mage/Checkout/Model/Type/Onepage.php

3)在其上方添加此代码:$result = $customer->validate();