Prestashop problèmes relatifs à l’import csv : les spécifications

En important des produits en masse par CSV dans l’administration de Prestashop, on rencontre quelques problèmes majeurs au niveaux des spécifications.

En effet, si plusieurs produits ont la même valeur de spécification, prestashop va les importer en tant que valeur personnalisée, et créer donc autant de valeur qu’il y aura d’entrer.

Ceci a pour effet de créer une multitude de doublons dans votre base de données (pas très optimal), et va causer des disfonctionnements si vous utilisez le module de navigation à facette.

Voici donc un script qui va fusionner toutes les valeurs portant le même nom en une seule, et réattibuer cette valeurs fusionnée à vos produits concernés.

On en profite également pour débarrasser la base de données des doublons, histoire de l’alléger un peu.

[php]
echo "demarrage du processus…";
//CONNECTION A LA BASE
mysql_connect("host", "user_de_la_base", "mot de passe");
mysql_select_db("nom_de_la_base");
//ON PASSE LES VALEURS EN VALEURS NORMALES
mysql_query("UPDATE ps_feature_value SET custom = NULL WHERE custom = 1");
//ON CHERCHE LES DOUBLONS
$result = mysql_query("SELECT id_feature_value FROM ps_feature_value"); while($feature_mere= mysql_fetch_object($result)) {
//ON CHOISI LA VALEUR QUE L’ON VA CONSERVER
$result2 = mysql_query("SELECT value FROM ps_feature_value_lang WHERE id_feature_value =".$feature_mere—>id_feature_value."");
while($feature_name= mysql_fetch_object($result2))
{
//ON CHERCHE LES VALEUR QUI ONT LE MEME NOM QUE NOTRE VALEUR DE REFERENCE
$result3 = mysql_query("SELECT id_feature_value FROM ps_feature_value_lang WHERE value =’".$feature_name->value."’ AND id_feature_value !=".$feature_mere->id_feature_value."");
while($feature_doublon = mysql_fetch_object($result3)){

//ON MET A JOUR NOS PRODUITS
mysql_query("UPDATE ps_feature_product SET id_feature_value =".$feature_mere->id_feature_value." WHERE id_feature_value =".$feature_doublon->id_feature_value."");

//ON NETTOIE LA BASE
mysql_query("DELETE FROM ps_feature_value WHERE id_feature_value =".$feature_doublon->id_feature_value."");
mysql_query("DELETE FROM ps_feature_value_lang WHERE id_feature_value =".$feature_doublon->id_feature_value."");

}

}
}

//ON EST CONTENT!
echo "Les specifications ont été mises à jour";

[/php]

N’hésitez pas à laisser un commentaire.

Acheter / Buy

Disponibilité

Du lundi au samedi de 9h à 19h

Conseils

Demandez votre devis conseil

Satisfaction des clients

La satisfaction des client est une priorité pour construire des partenariats durables

Welcome to NdkDesign

KbxBotIcon