2017-05-20 131 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'); 

問候

相關問題