j'ai perdu le numéro de colis

6 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour à tous !

question bête...

J'arrive plus à retrouver OU on indique au client le numéro du colis lorsqu'on a envoyé la commande !!!

ça a pas disparu quand même ?

merci pour votre aide

cordialement

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Carcy,

Sur quelle version de PEEL travaillez-vous ?

Simon.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Simon !

excusez moi, c'est vrai ! je travaille sur la toute dernière version, la 6.2

et je dois être aveugle ! j'arrive vraiment plus à retrouver ! je dois l'avoir juste devant !! :blink:

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Carcy,

je vous rassure, vous n'êtes pas aveugle :) !

Lors de la création de la 6.2, nous avons fusionné les deux pages qui gérait les commandes sur PEEL : commandes.php et commander.php.

Mais lors de cette fusion, la possibilité de renseigner un numéro de tracking dans le détails d'une commande a été supprimé. Cette erreur sera bien évidemment corrigée dans la futur version.

Ci dessous la correction.

Ligne 372 du fichier lib/fonctions/order.php, remplacer le commentaire suivant :


// Delivery_tracking n'est pas géré ici, car uniquement modifié via l'administration dans une fonction séparée
[/code] par
[code]
if(defined('IN_PEEL_ADMIN')){
$set_sql .= "
, delivery_tracking = '" . nohtml_real_escape_string($order_infos['delivery_tracking']) . "'";
}
Et juste en dessous du code suivant (à la ligne 166 du fichier amdinistrer/commande_details.php)
		<tr>
<td>Numéro de la facture' . BEFORE_TWO_POINTS . ':</td>
<td><input type="text" style="width:100%" name="numero" value="' . String::str_form_value($numero) . '" /><br />Les valeurs de type [colonne] dans le numéro de facture seront remplies après la création de cette commande.</td>
</tr>
[/code] il faut ajouter le champ :
[code]
<tr>
<td class="form_commande_detail">Numéro de tracking du colis' . BEFORE_TWO_POINTS . ':</td>
<td class="form_commande_detail">
<input id="delivery_tracking" name="delivery_tracking" style="width:100%" value="' . trim(vb($commande['delivery_tracking'])) . '" />
' . (is_icirelais_module_active()?'<div id="tracking_url"></div><br /><a href="javascript:setTracking(\'' . MODULE_SHIPPING_ICIRELAIS_TRACKING_URL . '\',\'' . TEXT_COMMENT_TRACKING . '\',\'' . TEXT_ERROR_TRACKING . '\')">' . TEXT_CREATE_TRACKING . '</a>':'') . '
</td>
</tr>

Simon.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci d'avoir ajouté cette fonction importante!

Il me reste un petit problème: Le mail automatique d'expédition n'inclut pas ce numéro de colis, le tag [colis] reste muet, ce qui me donne "le n° de colis est . Pour La Poste, vous pouvez suivre l'acheminement...".

Le numéro du colis apparait pourtant bien dans l'historique de commandes.

Comment puis-je paramétrer ce tag [colis] pour qu'il réfère au 'delivery_tracking'?

Merci d'avance!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Ce problème se produit uniquement si vous renseignez le numéro de tracking en même temps que le changement de statut de livraison.

Le problème vient du fait que la mise à jour du numéro de tracking dans la base de donnée se fait après l'envoi de l'email.

Donc, lorsque la fonction send_avis_expedition est appelée, les informations qu'elle récupère ne sont pas encore à jour.

Voici une solution pour faire en sorte que le numéro de tracking parvienne jusqu'au tableau $custom_template_tags de la fonction send_avis_expedition :

- Dans le fichier lib/fonctions/fonctions_admin.php, il faut ajouter le paramètre $delivery_tracking à la fonction send_avis_expedition, et remplacer l'attribut de la classe commande $commande->delivery_tracking par le paramètre. Ce qui donne :


function send_avis_expedition($commandeid, $delivery_tracking) {
$resCom = query("SELECT *
FROM peel_commandes
WHERE id='" . intval($commandeid) . "'");
$commande = fetch_object($resCom);
$order_infos = get_order_infos_array($commande);

$custom_template_tags['ORDER_ID'] = $commandeid;
$custom_template_tags['TYPE'] = $commande->type;
$custom_template_tags['COLIS'] = $delivery_tracking;
$custom_template_tags['NOM_FAMILLE'] = $commande->nom_bill;
$custom_template_tags['PRENOM'] = $commande->prenom_bill;
$custom_template_tags['CLIENT_INFOS_SHIP'] = $order_infos['client_infos_ship'];
$custom_template_tags['COUT_TRANSPORT'] = str_replace('&euro;', '€', fprix($commande->cout_transport, true)) . " " . TTC;

$custom_template_tags['SHIPPED_ITEMS'] = '';
$product_infos_array = get_product_infos_array_in_order($commandeid, $commande->devise, $commande->currency_rate);
foreach ($product_infos_array as $this_ordered_product) {
$custom_template_tags['SHIPPED_ITEMS'] .= $this_ordered_product["product_text"] . "\n";
$custom_template_tags['SHIPPED_ITEMS'] .= QUANTITY . BEFORE_TWO_POINTS . ": " . $this_ordered_product["quantite"] . "\n";
$custom_template_tags['SHIPPED_ITEMS'] .= PRICE . BEFORE_TWO_POINTS . ": " . str_replace('&euro;', '?', fprix($this_ordered_product["total_prix"], true)) . ' ' . TTC . "\n\n";
}
send_email($commande->email, '', '', 'send_avis_expedition', $custom_template_tags, 'html', $GLOBALS['support_commande']);
}[/code] - Dans le fichier lib/fonctions/order.php, il faut modifier la fonction create_or_update_order : Au tout début de la fonction, ajoutez la ligne
[code] $delivery_tracking = vb($order_infos['delivery_tracking']);
Ensuite, modifier la variable $order_infos['delivery_tracking'] en $delivery_tracking, au niveau du code
 	if(defined('IN_PEEL_ADMIN')){
$set_sql .= "
, delivery_tracking = '" . nohtml_real_escape_string($order_infos['delivery_tracking']) . "'";
}[/code] ce qui donne
[code] if(defined('IN_PEEL_ADMIN')){
$set_sql .= "
, delivery_tracking = '" . nohtml_real_escape_string($delivery_tracking) . "'";
}
Enfin, ajouter la variable $delivery_tracking en paramètre de la fonction update_stock_status_order_changed comme ceci :
update_stock_status_order_changed($order_infos['statut_paiement'], $order_infos['statut_livraison'], $order_infos['commandeid'], $delivery_tracking);
La dernière modification se situe en bas de la fonction update_stock_status_order_changed au niveau de
		//On vérifie que le statut de livraison passe à expédié pour envoyer l'email d'expédition
if($statut_livraison_ex != $id_statut_livraison && $id_statut_livraison == 3) {
send_avis_expedition($id_commande);
}[/code] Il faut ajouter un paramètre à la fonction send_avis_expedition :
[code]send_avis_expedition($id_commande, $delivery_tracking);

Cette correction sera dans la futur version de PEEL SHOPPING, merci d'avoir vu ce problème.

Simon.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping