Polylight Posted February 27 Share Posted February 27 (edited) Version : 1.7 Bonjour à tous, Je suis en train d'optimiser ma base de données PrestaShop et j'ai besoin de vos précieux avis. Je veux identifier et potentiellement supprimer les paniers abandonnés de ma base de données. Voici la requête SQL que je prévois d'utiliser pour identifier les paniers abandonnés : SELECT * FROM `ps_cart` WHERE `id_cart` NOT IN (SELECT `id_cart` FROM `ps_orders`) Merci d'avance pour votre aide. Cordialement, Edited February 27 by Polylight (see edit history) Link to comment Share on other sites More sharing options...
Polylight Posted February 27 Author Share Posted February 27 Pour identifier comme panier abandonné je compare table ps_orders. Si un id_cart dans la table ps_cart n'a pas de correspondance dans la table ps_orders, cela signifie que le panier a été abandonné pour nettoyer correctement. Je ne sais pas si la méthode est bonne. Link to comment Share on other sites More sharing options...
Mediacom87 Posted February 27 Share Posted February 27 Bonjour, attention avec ce type de requête, car vous allez identifier tous les paniers qui ne sont pas transformés en commande, mais aussi les paniers en cours donc de vos clients sur la boutique, cela pourrait être énervant de perdre son panier. De plus, l'effacement des paniers ne se fait pas en base de données directement, il faut le faire en effaçant l'objet chargé dans PrestaShop pour éviter les incohérences de base de données. Après, pour faire cela et bien d'autres choses, il reste toujours la solution de mon module 😉 Link to comment Share on other sites More sharing options...
doekia Posted February 27 Share Posted February 27 Prestashop fait cela nativement (suppression des paniers abandonnés sans commande), il faut juste filtrer les date pour exclure les paniers récent. Sélectionnez TOUS vos panier, cliquez delete il ne supprimera que les orphelins Link to comment Share on other sites More sharing options...
Polylight Posted February 27 Author Share Posted February 27 14 minutes ago, doekia said: Prestashop fait cela nativement (suppression des paniers abandonnés sans commande), il faut juste filtrer les date pour exclure les paniers récent. Sélectionnez TOUS vos panier, cliquez delete il ne supprimera que les orphelins Bonjour, merci de votre réponse. Est-ce ainsi dans le backoffice, cela est suffisant ? Comme ceci ? Link to comment Share on other sites More sharing options...
Polylight Posted February 27 Author Share Posted February 27 Ça va être un peu long à la main, mais je pense que c'est plus sécurisé de faire comme cela. Merci ! Link to comment Share on other sites More sharing options...
doekia Posted February 27 Share Posted February 27 Pourquoi long? Choisissez une plage de date, bulk selection tous sélectionner bulk action delete Dans le code 1.6 et j'imagine que c'est pareil dans les version ultérieures, il y a ceci public function delete() { if ($this->OrderExists()) { //NOT delete a cart which is associated with an order return false; } ... Link to comment Share on other sites More sharing options...
doekia Posted February 27 Share Posted February 27 Par contre, je suis surpris, vous n'êtes pas sur la page panier là. Si c'est un statut de commande, alors non vous ne pouvez pas supprimer une commande, et vous ne DEVEZ JAMAIS essayer de le faire. Link to comment Share on other sites More sharing options...
Polylight Posted February 27 Author Share Posted February 27 Je suis ici dans le backoffice Je suis ici Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now