prestashop 后端和前端的产品重复

duplication of products in prestashop backend and front

我已经导入了 16 000 个产品,现在我有 57 000 个产品。 任何人都可以帮我删除所有重复的产品,如图所示。 具有不同 ID 和相同引用的产品。

图片后台:

正面图片:

你可以尝试类似的东西,你可以在开发环境中测试它,你应该在你的根项目中创建一个 php 文件。

require_once('config/config.inc.php');
require_once('init.php');

$query = "select id_product,reference from " . _DB_PREFIX_ . "product where active=1";
$res = Db::getInstance()->ExecuteS($query);

foreach($res as $prod){
    $query = "select id_product from " . _DB_PREFIX_ . "product where  reference=$prod['reference']";
    $res = Db::getInstance()->ExecuteS($query);
    $count = count($res);
    if($count){
        foreach ($res as $key => $p) {
            if (--$count <= 0) { 
            // to not delete the last occurrence for a given reference
               break;
            }
            $id_product = $p['id_product'];
            $product = new Product((int)$id_product);
            if($product->delete())
               echo 'product '.$id_product.' is deleted';
        }
    
    }
}