Prestashop: nettoyer les transporteurs 2/2

26 vues
23 février 2014
Cyril
prestashop

 

Prestashop et les transporteurs

PrestaShop est une plateforme de commerce électronique open-source qui permet aux entreprises de créer et de gérer facilement leur boutique en ligne. En ce qui concerne la gestion des transporteurs, PrestaShop offre une large gamme d'options pour aider les entreprises à expédier leurs produits à leurs clients.

Tout d'abord, PrestaShop permet aux propriétaires de boutiques en ligne de gérer plusieurs transporteurs et de définir des frais d'expédition différents pour chaque transporteur. Cela permet aux entreprises de choisir le transporteur qui convient le mieux à leurs besoins en termes de rapidité de livraison, de destination et de coût.

PrestaShop propose également un système de livraison par zone qui permet aux propriétaires de boutiques en ligne de définir des zones géographiques spécifiques où ils peuvent proposer des options d'expédition spécifiques à chaque zone. Cela peut être particulièrement utile pour les entreprises qui expédient à des destinations internationales où les coûts d'expédition peuvent varier considérablement en fonction de la zone géographique.

En outre, PrestaShop offre également des fonctionnalités de suivi des colis en temps réel pour permettre aux propriétaires de boutiques en ligne et à leurs clients de suivre l'état de l'expédition en temps réel. Les clients peuvent recevoir des notifications de suivi par e-mail pour suivre l'expédition de leur commande.

Enfin, PrestaShop propose également une intégration avec des fournisseurs de services d'expédition tiers tels que FedEx, UPS et DHL. Cela permet aux propriétaires de boutiques en ligne de proposer une plus grande variété d'options d'expédition à leurs clients et de bénéficier de tarifs préférentiels auprès de ces fournisseurs.

Nettoyage

Prestashop a une curieuse façon de gérer les transporteurs, ce qui fait que très vite les tables sont remplies pour rien. La suppression ne supprime pas vraiment, le champ deleted est à 1 bref.
Pour nettoyer tout ça, voici la procédure à suivre:

  1. Nettoyer la table ldt_carrier:

    DELETE from `ldt_carrier` WHERE deleted=1

  2. Nettoyer les autres tables correspondantes en supprimant tout ce qui avait un lien vers les données supprimées:


DELETE from `ldt_carrier_group` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_carrier_lang` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_carrier_shop` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_carrier_tax_rules_group_shop` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_carrier_zone` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_range_price` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_range_weight` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);
DELETE from `ldt_delivery` WHERE id_carrier NOT IN (SELECT id_carrier FROM ldt_carrier);

Copie de tranches

Lorsqu'on a renseigné toutes nos tranches de poids pour un tarnsporteur, on a pas particulièrement envie de refaire le travail pour le 2ème voici donc comment copier les tranches d'un transporteur à l'autre:

  1. récuper les ids des transporteur source (qui a déjà les tranches) et destination (qui veut récupérer les tranches en les copiant) en regardant dnas votre backoffice, Expédition/Transporteurs la colonne ID.
  2. Exécutez la requêtes en remplaçant par vos ids:


INSERT INTO ldt_range_weight(
SELECT NULL , id_carrier_destination, delimiter1, delimiter2
FROM ldt_range_weight
WHERE id_carrier =id_carrier_source) ;