Prestashop $ product-> save()不会永远保存

时间:2018-04-17 17:19:26

标签: php caching prestashop product

我通过cURL将一些数据发送到PS SitemapController我覆盖了:

使用该数据,我将继续使用这样的自定义函数:

$product = new Product($_POST['id']);
$product->price = $_POST['price'];
$product->wholesale_price = $_POST['wholesale_price'];
$product->unity = $_POST['unity'];
$product->save();

然后我的问题发生了:有时它会保存我对产品的更改,有时候不会。

为了确保我总是将数据发送到控制器,我在$ product-> save()行之前创建了一个log.txt文件,其中写有数据。我查了一下,我的wordpress插件系统地将数据发送到控制器和功能。问题确实出现在save()函数中,因为在product-> save()之后的fputs不会做任何事情(当它没有保存时​​)。

希望有人能够更多地了解这一点并成为我的道路上的亮点!

1 个答案:

答案 0 :(得分:0)

感谢TheDrot和Alexander Grosul给我解决问题的途径。

我通过update()操作替换了我的save()动作,并用try catch块包装了整个事件,记录了抛出的异常,并在调试模式下打开了PS。

在做了一些计算价格与税收的数学之后,在某些情况下,结果是一个长期浮动,prestashop不能接受这个作为产品价格。抛出的异常是“价格无效”。所以我用round()解决了它,现在一切运行良好,每次更新产品。我对prestashop缓存系统如此不确定,我没有想到它......再次感谢;)