2

我正在开发使用 Magento 部署的商店。它有一个我编写的模块,其中包含 checkout_type_onepage_save_order_after、checkout_type_multishipping_create_orders_saved_after 和 admin_created_order_after 的事件观察器。

当客户下订单时,启用我的模块后,Magento 不会重定向到成功页面。当我禁用我的模块时,它重定向就好了。无论有没有我的模块,订单仍然可以通过,但如果没有某种感谢信息,它就不是很友好。

任何人有任何想法是什么问题?任何错误日志(Apache、PHP、Magento 或数据库)中都没有条目。

在 PHP 5 上使用 magento 1.6.2.0。

4

1 回答 1

0

如果其他人遇到相同或类似的问题,我刚刚解决了一个非常相似的问题,这要感谢 TonyTheJet 在这里的评论。我在 Magento CE 1.7.02 中使用 onepagecheckout

如果您的代码中有一个杂散的回显命令,它将向浏览器发送原始文本,这将导致 onepagecheckout.js 中的浏览器端出现问题。它没有正确地取消编码服务器发送的后续 JSON 字符串以表明订单已成功处理。因此,浏览器无法发送 GET 来触发 onepagecheckout 控制器 successAction()。

如果您使用的是协议分析器或 Firefox Firebug 之类的工具,那么关键的 JSON 字符串应该如下所示。order_creates=true 应该触发成功页面的浏览器请求:

{“成功”:真,“错误”:假​​,“订单创建”:真}

于 2014-09-23T16:53:57.687 回答