【问题标题】:Prestashop - change product category in databasePrestashop - 更改数据库中的产品类别
【发布时间】:2017-05-20 15:47:55
【问题描述】:

我需要大规模更改产品类别。我更新了数据库中的两个表:ps_category_product(更改了旧的 id_category)和ps_products(更改了旧的 id_category_default),但在 BO 产品表和网上商店中,我仍然看到旧的类别(家庭)。

当我编辑产品时,选择标签关联我看到该产品与我的新分类相关联。只有当我通过单击保存按钮保存产品时,我才能看到该产品属于正确的类别。

我比较了数据库中的两行(通过 mysql 查询更改类别的产品和在 BO 中更改的产品),这两行看起来相同。

我做错了什么?我正在尝试清理缓存(删除缓存/cachefs 和 smarty/compile),禁用所有缓存选项但没有结果。

【问题讨论】:

  • 检查ps_product_shop 表并更改它们的默认类别(如果您启用了多商店,则针对特定的商店ID)。
  • 就这么简单...

标签: prestashop prestashop-1.6


【解决方案1】:

要更改类别,必须执行以下查询:

Db::getInstance()->execute('UPDATE  '._DB_PREFIX_.'category_product SET id_category = NEW_ID_CATEGORY WHERE id_category = OLD_ID_CATEGORY');
Db::getInstance()->execute('UPDATE  '._DB_PREFIX_.'product_shop SET id_category_default = NEW_ID_CATEGORY WHERE id_category_default = OLD_ID_CATEGORY AND id_shop = ID_SHOP');
Db::getInstance()->execute('UPDATE  '._DB_PREFIX_.'product SET id_category_default = NEW_ID_CATEGORY WHERE id_category_default = OLD_ID_CATEGORY');

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多