道歉,这将是一个有点模糊的问题。
我在Mangento 1.9上运行了一个定制版本的Awesomecheckout(单页结帐),但是我遇到了一个问题,即当客户的电子邮件地址没有保存在数据库中时作为客人退房。
我认为这很容易就是我自己造成的,所以不太可能有人立刻知道解决方案,但我希望有人可能会指出我可能会对哪些文件负责
我发现/app/code/Core/Mage/Checkout/Model/Type/Onepage.php确实在saveBilling()中显示了该邮件(它出现在$ address-> getEmail()下面和$ this-> getQuote() - > getCustomerEmail()),但我无法解决接下来发生的事情(以及丢失的地方)。
非常感谢任何建议。
答案 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();