Renommez automatiquement les références produits avec un script Prestashop
Renommez automatiquement les références produits
La référence produit de Prestashop permet son identification par une chaine de caractères. Cette référence sert en interne et sera affichée au client sur la fiche produit (ne pas mettre le code fournisseur dedans).

Utilisez le Script
Ce script permet de mettre à jour les références produits (produit et déclinaison) afin qu’elles soient uniques.
Télécharger le script pour Prestashop, mettre le dossier « scripts » dans votre dossier « modules » et exécuter l’url :
http://www.votresite.com/modules/scripts/rename_references.php
Pour ceux qui préfèrent le code php :
executeS('SELECT `id_product` FROM '._DB_PREFIX_.'product');
foreach($products as $p){
Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'product
SET `reference`="'.pSQL($prefix_ref.$p['id_product']).'"
WHERE `id_product`="'.pSQL($p['id_product']).'"');
$count++;
}
$products_attributes = Db::getInstance()->executeS('SELECT `id_product_attribute` FROM '._DB_PREFIX_.'product_attribute');
foreach($products_attributes as $pa){
Db::getInstance()->execute('UPDATE '._DB_PREFIX_.'product_attribute
SET `reference`="'.pSQL($prefix_refd.$pa['id_product_attribute']).'"
WHERE `id_product_attribute`="'.pSQL($pa['id_product_attribute']).'"');
$count++;
}
echo 'Félicitation '.$count.' références mises à jour !';
?>
Lancez le script via votre navigateur

Quand vous avez de nouveaux produits, vous pouvez relancer le script (mettez l’adresse du lien dans vos favoris).
Les références resteront les mêmes pour les anciens produits et les nouveaux seront automatiquement complétés.
Conclusion
Je me sers souvent de ce script pour mes références. Cette méthode fait gagner du temps et permet d’avoir des codes articles organisés.
Pour aller plus loin et pour ceux interessé par PHP, voici un petit lien sympa. N’hésitez pas à fouiller… Par exemple la !
⚠️ Si vous avez une erreur 500, il est possible que votre serveur n’ai pas assez de puissance pour exécuter le traitement sur tous vos produits.
Pour cela il peut-être nécessaire d’augmenter les valeurs « max_excution_time » et « memory_limit » de PHP (consulter votre hébergeur).