Il existe plusieurs modules permettant de modifier les prix de tous vos produits à la volée. Chacun apportant son lot de fonctionnalités mais aussi...de complexité. Vous pouvez cependant réaliser cette opération en quelques secondes avec 4 petites requêtes MySql.
Les prix sont définis dans 4 tables de votre base de données :
ps_product, ps_product_shop mais aussi, trop fréquemment oubliées, les tables des déclinaisons qui sont pschoc_product_attribute et pschoc_product_attribute_shop
Pour chacune de ces tables, la colonne à modifier est la colonne PRICE. Dans cet exemple, je prend le cas d'une augmentation de 20% de tous les prix, ce qui correspond à multiplier les prix par 1,2
UPDATE ps_product set price=price*1.2
UPDATE ps_product_shop set price=price*1.2
UPDATE ps_product_attribute set price=price*1.2
UPDATE ps_product_attribute_shop set price=price*1.2
Si vous voulez baisser vos prix de 10%, cela correspond donc à multiplier vos prix par 0,9
UPDATE ps_product set price=price*0.9
Très simplement aussi, vous pouvez simplement ajouter un montant fixe à tous vos prix, par exemple 2,5 :
UPDATE ps_product set price=price+2.5
Ces commandes SQL peuvent être envoyées depuis votre console SSH, ou simplement via PhpMyAdmin.
Bonjour, d'abord merci pour vos astuces. J'ai deux questions.
- J'aimerais augmenter mes prix de 15%, comment je dois mettre *1.1.5 ?
- je suis en 1.6.0.14 et je n'ai pas les colonnes " pschoc_product_attribute " et " pschoc_product_attribute_shop".
dois-je les mettre dans ps_product_attribute et ps_product_attribute_shop?
Je vous remercie pour votre réponse.
Bonne soirée
En fait pchoc, c'est le préfixe de vos bases de données => ps_nom_table_prestashop. Tout dépend de votre installation, ce seront les tables XX_product_attribute ou XX = votre préfixe (par défaut : ps)
Merci pour ce tuto clair et utile ! Et si je souhaite modifier le price en ajoutant une marge de 50% au wholesale_price cela donne bien ceci ?
UPDATE ps_product set price=wholesaleprice*1,5