在 prestashop 1.7 中保存产品后获取类别时出现问题

Problem getting the category after saving a product in prestashop 1.7

在后台保存了新产品后,我需要向外部发送一些信息API。 我已经覆盖了 Product class 并在 add() 函数的末尾添加了代码,就在

之后
Hook::exec('actionProductSave', array('id_product' => (int) $this->id, 'product' => $this));

和 return 语句之前。所有信息均已正确发送(名称、价格等),但默认类别除外,由于某种原因,无论实际选择什么,默认类别始终作为主页类别发送。但是如果我去后台查看产品,就会出现正确的类别,而不是主页。

我试过从$this->id_default_category中获取类别,我也试过从数据库中选择它,结果是一样的。

我唯一的结论是类别会在执行 add() 函数后的某个时间更新,但我就是不知道更新在哪里。任何帮助我指出正确方向的帮助将不胜感激。

我建议你创建一个非常简单的模块 触发 hookActionProductUpdate。 这样就可以使用钩子参数($params) 获取产品数据并将其直接发送到外部 API 无需接触 Prestashop 核心。

您可以在这里找到更多信息: https://devdocs.prestashop.com/1.7/modules/introduction/