嗨,我遇到了奇怪的问题,找不到原因。我有 PrestaShop 8.1.2(新实例),仅安装了模板。如果我从面板创建产品,我可以将其删除,并且它确认了我的“成功”消息。但是,如果我使用 PS Services Api 创建产品并尝试从面板中删除它们,它们将被删除,但收到错误消息:“删除对象时出错”。
没有关于无法删除哪个对象的更多信息,Apache 日志中没有错误,打开 devmode 的事件没有提供任何更多信息。
在这种情况下,我不确定产品是否正确导入,并且将来不会给我任何其他错误。 顺便说一句,我在另一家运行 1.7.8 的商店中使用相同的导入脚本,没有这样的问题。
这样的消息可能是什么原因?
我将脚本与另一个 Presta Shop 进行了比较,它在旧版本中运行良好。
好吧,我已经弄清楚了(不要责怪我 - 在发布我的问题之前我已经在互联网上挖掘了一个星期,然后立即找到解决方案:)
所以问题是,当我从 Web 服务获取模式并仅填充我需要的几个节点时,它将在两个不应该创建的表中创建无意义的行:ps_product_attachment 和 ps_product_attribute。这是明显的错误,因为我将产品类型设置为“标准”,甚至你 presta 也为“组合”创建了行。
解决方案是先清空所有节点,然后再填充正确的节点。
$blankXml = $webService->get(['url' => $adres_api.'api/products?schema=blank']);
$produkt = $blankXml->product->children();
foreach ($produkt as $nodeKey => $node)
{
$produkt->$nodeKey = "";
}