Prestashop - 当产品具有属性时无法添加产品(parsererror)

Prestashop - Unable to add the product (parsererror) when product has attributes

我有一个使用 Prestashop 1.4.7.3 的网站(目前无法升级),自从我尝试在 ajax 购物车中添加产品 2 天以来遇到了问题,这是错误消息 :

TECHNICAL ERROR: unable to add the product. Details: Error thrown: [object XMLHttpRequest] Text status: parsererror

我从那 2 天开始就在网上搜索并尝试了我发现的所有内容(修改 content_dir、用拆分替换 mb_split 等)但没有任何效果,现在我不知道该怎么做确实需要帮助。

使用 Firefox 和 Chrome,我在控制台选项卡上没有错误,只有在我添加具有属性的产品或购物车中已有具有属性的产品时才会出现此警报。 当我单击 "add" 时,购物车没有刷新并且我有此警告,但如果我刷新页面(使用 F5 或 CTRL+R),我会看到产品已正确添加。

有人可以帮我吗?或者给我一个线索?

谢谢,

托尼.

返回的 JSON 数据有一个 PHP 错误消息,它破坏了 JSON 语法 -> 无法解析。

您可以尝试做什么:

1) 在 defines.inc.php 中关闭 dev 模式 - 这将关闭打印出 PHP 错误消息,希望修复您的 JSON

2) 检查您 PHP 错误日志。所有 PHP 错误消息也会打印到日志中。如果您发现错误,您将不得不修复它。

3) 追踪 JS 代码,它会在其中尝试解析收到的 JSON 数据 - 可能 ajax-cart.js。这个文件的某个地方代码正在尝试解析接收到的数据,您需要添加 console.log(data) 并且您将能够看到是什么破坏了 JSON 数据。

我找到了解决方案!

问题出在主题文件夹中的购物车 tpl 文件(在 modules/blockcart 中)。

tpl 也有替换 / 的替换方法。由于属性是在名称中使用 / 创建的,所以真是一团糟。

我使用这种方法评论了该行,直到我找到如何用好的方法替换它。

希望对遇到同样情况的人有所帮助

再次感谢 gskema 的帮助。

你能解释一下你是如何解决这个问题的吗?

tpl 也有替换 / 的替换方法。由于属性是在名称中使用 / 创建的,所以真是一团糟。

我在 blockcart.tpl 但我看不到任何替换 /.

的方法