Jump to content

[résou] pas de numéro de suivi colis dans PS pour les commandes ebay


Recommended Posts

Bonjour

 

Pourquoi n'ai-je pas la possibilité d'indiquer le numéro de colis lorsque l'état de la commande est "en cours de livraison" dans PS pour les commandes provenant de ebay. Alors que pour les commandes faites sur mon site j'ai bien le champ "numéro de suivi" ?

 

Merci pour votre aide !

Edited by LAULAU78 (see edit history)
Link to comment
Share on other sites

L'idéal serait d'indiquer à cette personne comment faire. -_-

 

Ligne 452 du fichier ebay.php

 

$cartAdd->id_carrier = 0;

 

Remplacer le 0 par l'id du transporteur que vous souhaitait voir apparaître sur la page de commande.

 

Par exemple, vous avez un transporteur Colissimo qui possède l'id 5.

 

Alors ce code devient:

$cartAdd->id_carrier = 5;

 

Avec cette méthode vous pouvez utiliser votre champ de numéro de suivi afin d’en informer le client.

Link to comment
Share on other sites

  • 8 months later...

Re,

 

Finalement pour moi ça ne fonctionne pas :s

En modifiant le code comme indiqué plus haut, mes commandes eBay ne remontent plus du tout sur PrestaShop. J'ai donc opté pour une autre méthode : Appeler un CRON à intervalles réguliers afin d'attribuer mon transporteur par défaut aux commandes en provenances d'eBay ayant comme id_carrier 0.

 

Voici le code de mon fichier "cron_ebay_transporteurs.php" à placer à la racine du site et à appeler via une tâche CRON :

<?php
include_once('config/config.inc.php');
$sql = 'SELECT o.id_order FROM `' . _DB_PREFIX_ . 'orders` o, `' . _DB_PREFIX_ . 'ebay_order` eo
 WHERE o.id_order = eo.id_order
 AND o.id_carrier = 0';
$results = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql);
if(count($results)>0){
echo count($results)." commande(s) à mettre à jour.<br />";
$id_carrier_default = (int)Configuration::get('PS_CARRIER_DEFAULT');
$error = 0;
foreach($results as $commande){
 $sql = 'UPDATE `' . _DB_PREFIX_ . 'orders`
SET id_carrier = '.$id_carrier_default.'
WHERE id_order = '.(int)$commande['id_order'];
 if(!Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute($sql)){
  echo '<span style="color:red;font-weight:bold;">Erreur lors de la mise à jour du transporteur pour la commande #'.(int)$commande['id_order'].'</span><br />';
  $error++;
 }
}

echo '<span style="color:green;">'.(int)((int)count($results)-(int)$error).' commande(s) mises à jour avec succès.</span>';
}else{
echo "Aucun traitement nécessaire.";
}

code valable pour les versions 1.4 de PrestaShop (mis en place sur une version 1.4.7.0)

Edited by Ukoo - Guillaume (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...