Sign in to follow this  
Followers 0

j'ai perdu le numéro de colis

6 posts in this topic

Posted · Report post

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

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Carcy,

Sur quelle version de PEEL travaillez-vous ?

Simon.

Share this post


: post
Share on other sites

Posted · Report post

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:

Share this post


: post
Share on other sites

Posted · Report post

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.

Share this post


: post
Share on other sites

Posted · Report post

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!

Share this post


: post
Share on other sites

Posted · Report post

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.

Share this post


: post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping