Les champs dans le mail de confirmation de commande sont VIDES


6 posts in this topic

Posted · Report post

Bonjour,

Depuis la migration de mon site de la version 4 à la version 6.2, les mails de confirmation de commandes sont absolument vides.

les étapes de commandes se passent normalement, mais le client reçoit un mail de confirmation de ce type :

Bonjour Mlle VIRGINIE DUFOUR

Votre commande n° 1566 du 13/02/2012 10:42 a bien été enregistrée sur le site La boutique Mon ami Baptiste.

---------------------------

RAPPEL DE VOTRE COMMANDE

---------------------------

MONTANT TOTAL : 18,42 EUR TTC

Mode de paiement : spplus

---------------------------

Adresse de facturation

---------------------------

Adresse de facturation :

---------------------------

Adresse de livraison

---------------------------

Adresse de livraison :

---------------------------

Articles commandés

---------------------------

FRAIS D'EXPEDITION

5.00000 EUR TTC

Il manque l'adresse de livraison/facturation et surtout le liste des produits commandés, c'est embêtant !!

Merci de votre aide.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

pouvez-vous vérifier le mail correspondant qui se trouve dans "Modèle d'email" en back office. C'est le template numéro 11, le code technique associé est email_commande. Il faut voir si les tags [CLIENT_INFOS_BILL], [CLIENT_INFOS_SHIP], [bOUGHT_ITEMS] sont bien présent.

Si oui, il faut vérifier le valeur de $custom_template_tags passé en paramètre de la fonction send_email. Dans la fonction email_commande, ligne 550 du fichier lib\fonctions\order.php, il faut vérifier que le code suivant


$custom_template_tags['ORDER_ID'] = $order_id;
$custom_template_tags['NOM_FAMILLE'] = String::htmlspecialchars_decode($user['nom_famille'], ENT_QUOTES);
$custom_template_tags['GENDER'] = $user['civilite'];
$custom_template_tags['PRENOM'] = String::htmlspecialchars_decode($user['prenom'], ENT_QUOTES);
$custom_template_tags['TYPE'] = $order_object->type;
$custom_template_tags['COLIS'] = $order_object->delivery_tracking;
$custom_template_tags['DATE'] = date($GLOBALS['date_basic_format_short'] . ' ' . $GLOBALS['time_basic_format_short'], strtotime($order_object->o_timestamp));
$custom_template_tags['MONTANT'] = fprix($order_object->montant, true);
$custom_template_tags['PAIEMENT'] = get_payment_name($order_object->paiement);
$custom_template_tags['CLIENT_INFOS_BILL'] = String::htmlspecialchars_decode($order_infos['client_infos_bill'], ENT_QUOTES);
$custom_template_tags['CLIENT_INFOS_SHIP'] = String::htmlspecialchars_decode($order_infos['client_infos_ship'], ENT_QUOTES) . "\n\n";
$custom_template_tags['COUT_TRANSPORT'] = str_replace('€', '€', fprix($order_object->cout_transport, true)) . " " . TTC;
$custom_template_tags['BOUGHT_ITEMS'] = '';
$product_infos_array = get_product_infos_array_in_order($order_id, $order_object->devise, $order_object->currency_rate);
foreach ($product_infos_array as $this_ordered_product) {
$custom_template_tags['BOUGHT_ITEMS'] .= $this_ordered_product["product_text"] . "\n";
$custom_template_tags['BOUGHT_ITEMS'] .= QUANTITY . BEFORE_TWO_POINTS . ": " . $this_ordered_product["quantite"] . "\n";
$custom_template_tags['BOUGHT_ITEMS'] .= PRICE . BEFORE_TWO_POINTS . ": " . str_replace('€', '€', fprix($this_ordered_product["total_prix"], true)) . ' ' . TTC . "\n\n";
}
[/CODE]

est bien présent.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour, Merci pour votre réponse rapide.

Tout d'abord, je n'ai qu'un seul modèle d'e-mail dans le Back Office, il porte le numéro 1 et code technique email_commande.

Dans ce modèle, il y a bien les 3 TAGS, placés aux bons endroits du message.

Dans le fichier ibfonctionsorder.php, les valeurs sont bien présentes :

Voilà la fonction complète... je ne sais pas lire le PHP, je vous mets tout ;-D

function email_commande($order_id)

{

$result = query("SELECT *

FROM peel_commandes

WHERE id ='" . intval($order_id) . "'");

$order_object = fetch_object($result);

$order_infos = get_order_infos_array($order_object);

$user = get_user_information($order_object->id_utilisateur);

$custom_template_tags['ORDER_ID'] = $order_id;

$custom_template_tags['NOM_FAMILLE'] = String::htmlspecialchars_decode($user['nom_famille'], ENT_QUOTES);

$custom_template_tags['GENDER'] = $user['civilite'];

$custom_template_tags['PRENOM'] = String::htmlspecialchars_decode($user['prenom'], ENT_QUOTES);

$custom_template_tags['TYPE'] = $order_object->type;

$custom_template_tags['COLIS'] = $order_object->delivery_tracking;

$custom_template_tags['DATE'] = date($GLOBALS['date_basic_format_short'] . ' ' . $GLOBALS['time_basic_format_short'], strtotime($order_object->o_timestamp));

$custom_template_tags['MONTANT'] = fprix($order_object->montant, true);

$custom_template_tags['PAIEMENT'] = get_payment_name($order_object->paiement);

$custom_template_tags['CLIENT_INFOS_BILL'] = String::htmlspecialchars_decode($order_infos['client_infos_bill'], ENT_QUOTES);

$custom_template_tags['CLIENT_INFOS_SHIP'] = String::htmlspecialchars_decode($order_infos['client_infos_ship'], ENT_QUOTES) . "nn";

$custom_template_tags['COUT_TRANSPORT'] = str_replace('€', '€', fprix($order_object->cout_transport, true)) . " " . TTC;

$custom_template_tags['BOUGHT_ITEMS'] = '';

$product_infos_array = get_product_infos_array_in_order($order_id, $order_object->devise, $order_object->currency_rate);

foreach ($product_infos_array as $this_ordered_product) {

$custom_template_tags['BOUGHT_ITEMS'] .= $this_ordered_product["product_text"] . "n";

$custom_template_tags['BOUGHT_ITEMS'] .= QUANTITY . BEFORE_TWO_POINTS . ": " . $this_ordered_product["quantite"] . "n";

$custom_template_tags['BOUGHT_ITEMS'] .= PRICE . BEFORE_TWO_POINTS . ": " . str_replace('€', '€', fprix($this_ordered_product["total_prix"], true)) . ' ' . TTC . "nn";

}

send_email($order_object->email, '', '', 'email_commande', $custom_template_tags, 'html', $GLOBALS['support_commande']);

send_email($GLOBALS['support_commande'], '', '', 'email_commande', $custom_template_tags, 'html', $GLOBALS['support_commande']);

}

Merci bcp de votre aide

Share this post


: post
Share on other sites

Posted · Report post

J'ai cherché encore un peu aujourd'hui en testant différents moyens de paiement.

Les Champs sont biens remplis lors du paiement par chèque mail il restent vides pour les paiement electronique CB.... mystère et boule de gomme :blink:

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Le moyen de paiement CB est celui de votre ancienne version. Le mail qui est envoyé n'est pas celui que vous voyez dans votre back office.

Dans le dossier paiement, ouvrez le fichier qui porte un nom aléatoire.

À la place de la fonction mail( de ce fichier, utiliser la fonction email_commande($reference);

Share this post


: post
Share on other sites

Posted · Report post

Merci Merci , ça fonctionne à présent très bien.

Vous êtes super efficace !

J'ai remplaçé la ligne

mail($email,"$object_ok","$message_ok",$headers);

par

email_commande($reference);

du fichier aléatoire.php dans le dossier paiement.

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

Twitter Advisto ecommerce

Facebook PEEL Shopping