2017-05-20 114 views
0

我需要批量更改产品类别。我更新了数据库中的两个表:ps_category_product(更改了旧的id_category)和ps_products(更改了旧的id_category_default),但在BO产品表和网上商店中,我仍然看到旧类别(主页)。Prestashop - 更改产品数据库中的产品类别

当我编辑产品时,选择选项卡关联我发现产品与我的新应用程序关联。只有当我通过点击保存按钮保存产品时,我才能看到正确类别的产品。

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

我在做什么错?我试图干净的缓存(删除缓存/缓存和smarty /编译),禁用所有的缓存选项,但没有结果。

+1

检查'ps_product_shop'表藏汉并更改其默认类别(具体店铺ID,如果你已经启用了MultiStore) 。 – TheDrot

+0

就是这么简单... – user3041764

回答

0

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

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'); 

问候

相关问题