【发布时间】:2011-07-29 02:04:42
【问题描述】:
我的 Magento 版本是 - 1.4.1.1
我有两个问题:
1) 当我完成 Onepage 结帐的各个步骤(注册、开票、发货和付款选项卡)时,有时在此过程中我会被重定向到购物车页面。没有错误,没有异常,在 var/report 中没有生成报告。我不知道如何调试它。没有我可以查找的日志吗?
2) 在点击下订单(最后一步)后,在同一个 Onepage Checkout 过程中,有时它会重定向到购物车页面,发送一封电子邮件说订单失败并显示以下消息:
必须在此操作之前收集报价总额。
为了解决这个问题,我在文件magento/app/code/core/Mage/Sales/Model/Quote.php 中的prepareRecurringPaymentProfiles 中注释了这一行,从而解决了问题:
throw new Exception("Quote totals must be collected before this operation.");
我不知道这两个问题是否相关。但是我现在没有第二个问题,而是经常遇到第一个问题。可能是什么原因以及如何解决?
进一步更新-我检查了萤火虫跟踪,这是 500 内部服务器错误,有时在一页结帐的任何步骤中都会出现。我能够深入研究 onepagecontroller.php 中的 savebillingaction、saveshippingaction 函数,发现当 $this->getRequest()->isPost() 为空白时会出现错误,如果为 1 则继续,然后转到下一个否则它会重定向到购物车,不,我不知道为什么这不是 1 或者是因为 ajax 无法发送发布数据但我检查了 XHR 请求,Ajax 每次都发送发布数据(使用 firebug 扩展检查)。有人可以告诉我接下来我可以做些什么来排除故障。我在哪里可以找到这些 Ajax 调用? Shipping.phtml(任意step.phtml)底部有JS,怎么调用OnePagecontroller saveshippingaction函数?
【问题讨论】:
-
检查它是否发生在特定的支付方式上,如果是,则开始调试这个支付方式控制器。
-
您可能会发现有用的信息,我在一个版本上工作了 11 个月,没有发生这种情况,并且有一天它开始了(我没有更改后端或前端的任何内容,我也没有更改任何内容文件。)唯一改变的两个问题是:该站点通过了 1000 个订单,这是 Internet Explorer 的重新升级,我只有 4 个遇到此问题的订单,所有订单都来自新的资源管理器,也许是它的故障。
-
切换服务器后,Cybersource 支付方式出现此问题。唯一的变化是从 php 5.2 到 5.3。最终需要调整支付方式代码中的 1 行来修复。问题是抛出了一个错误,但由于某种原因无法记录。
-
您的某些自定义会破坏结帐流程。是不是改了一些 JS 代码?
标签: redirect magento checkout magento-1.4