Prestashop 1.7.5购物车无法加载或已使用此购物车下订单

时间:2019-01-04 16:04:32

标签: php symfony prestashop prestashop-1.7

我在prestashop 1.7.5中遇到此错误,当用户付款(使用任何付款方式)时,付款已经完成,但是在订单确认页面中,我有一个500错误,我仅有的信息是日志并显示以下消息:

  

Frontcontroller :: init-无法加载购物车或已使用此购物车下订单

有人知道如何解决此错误吗?我已经站了几天来启动我的电子商务,

谢谢!

2 个答案:

答案 0 :(得分:0)

不是prestashop专家,所以请带一点盐。我认为您可能想使用较旧的购物车参考创建新订单。

如:

订单ID 1尝试使用购物车ID 1参考:成功创建订单

尝试使用购物车ID 1参考创建订单ID 2:失败

这是因为我认为订单必须与唯一的购物车相关联。使用Web服务查看订单架构,您会注意到对购物车的单一引用。

希望这会有所帮助。

答案 1 :(得分:0)

在您的情况下,“ {controller :: init-无法加载购物车或已经使用此购物车下达了订单”,很可能因为the condition in PaymentModule::validateOrder为假而触发了。它也可以在FrontController中发生。

无论如何,它来自Cart::orderExists method。认为购物车存在的原因可能是 ps_cart ps_orders 表的不同步。尝试以下操作:在mysql中运行以下查询:

SELECT id_cart FROM ps_cart ORDER by id_cart DESC LIMIT 1;
SELECT id_cart FROM ps_orders ORDER by id_cart DESC LIMIT 1;

对我来说,第一个是345,第二个是1891,这意味着 ps_cart 的AUTOINCREMENT值设置为小于 ps_orders 中现有的 id_cart 值。是什么让新创建的购物车成为ps_orders中已经存在的候选商品。

所以我只是增加了AUTOINCREMENT的值:

ALTER TABLE ps_cart AUTO_INCREMENT = 2000;

它解决了我的问题。