Jump to content

Tracking après vente


Recommended Posts

Bonjour à tous !

Je viens de faire le tour de pas mal de posts au sujet des codes trackings en fin de vente après paiement.
J'ai essayé de bidouiller un peu, pour voir ce qu'on peut faire.

Et franchement, c'est difficile !

=> clairement, après chaque paiement, on arriver sur la page order_confirmation.php

Premier problème :
après un paiement PAYPAL, lorsque je clique trop vite sur le bouton RETOURNER chez le vendeur => j'arrive sur la page history.php

Deuxième problème :
après un paiement PAYPAL, lorsque je ne suis pas trop rapide, j'arrive bien sur la page order_confirmation.php
Mais oups, aucune variable n'est disponible pour le tracking

Pas de numéro de commande, pas de montant de commande

Par contre, lorsque je fais un paiement par chèque, j'ai bien les variables dispos sur order_confirmation.tpl
{$id_order} et {$total_to_pay} par exemple.

Pourtant, cela devrait être possible, même au retour de PAYPAL de disposer de ces informations.

Par exemple, juste avant de cliquer sur le bouton PAYPAL, j'ai les infos suivantes :
{$total_price} 296.98
{$total_price_without_tax} "248.64"
{$total_products} "241.64"
{$total_products_wt} "289.00"
{$total_shipping} "7.98"
{$total_shipping_tax_exc} "7.00"
{$total_tax} "48.34"

Alors, si vous avez des infos plus pertinentes que les miennes dans vos tuyaux, je suis à votre écoute !
Merci d'avance

Link to comment
Share on other sites

Bien, je viens de bricoler un peu les fichiers
order_confirmation.php et order_confirmation.tpl

=> je me sers de l'objet $order
=> je l'assigne à Smarty (je transforme l'objet en array pour assigner, car je n'arrive pas à utiliser l'objet avec array)

=> je récupère donc les infos dans le TPL, et je peux utiliser les variables pour le tracking.

Ma question : l'objet $order est-il fiable ?

Ma 2ème question : dans order_confirmation.tpl, on a :

{$HOOK_ORDER_CONFIRMATION}
{$HOOK_PAYMENT_RETURN}



Ces 2 données sont apparemment totalement vides. Que sont-elles censées représenter ?

Si l'objet $order est fiable, je vous donnerai mon bout de code pour vos tracking. Sinon, il va falloir trouver mieux...

Link to comment
Share on other sites

  • 1 year later...

Bonjour,
J'ai le même souci, il me semble que la Prestateam n'en a rien a foutre de l'affiliation car les sujets sans réponses s'entassent...

Peux-tu nous communiquer ton bout de code pppplus svp ? Je ferais des test avec pour être bien sûr que l'objet order est fiable dans ce cas. De toute façon il n'y a pas d'autres objet order dans la procédure de commande...

Merci d'avance

Link to comment
Share on other sites

Voici ce que j'ai fais et qui fonctionne pour ma part :

dans order-confirmation.php :

$smarty->assign(array(
 'order_id' => $order->id, //recuperation d'un id de transaction
 'order_amount' => $order->total_paid, //recuperation du total payé
 'HOOK_ORDER_CONFIRMATION' => Hook::orderConfirmation(intval($id_order)),
 'HOOK_PAYMENT_RETURN' => Hook::paymentReturn(intval($id_order), intval($id_module))));



J'ai utilisé $order->total_paid car $order->getTotalProductsWithTaxes(true)) me renvoyait 0 !

dans themes/mon-theme/order-confirmation.tpl :

on récupère les variables que l'on place dans le tracking code :
{$order_id} et {$order_amount}

J'espère que ceci vous aidera, si vous avez une amélioration à apporter je suis preneur !

Bien entendu il serait bien que la prestateam ajoute l'objet order dans le template de confirmation sur la prochaine version !

Du genre : $smarty->assign('order', (array) $order);

Link to comment
Share on other sites

J'ai totalement oublié de repasser après mon post original pour poster ma version.

Voilà mon code (attention sur prestashop 1.2.5)

//passage objet vers tableau pour assigner à Smarty
foreach($order as $key=>$value)$TRK_order[$key]=$value;
//print_r($_order);

//récup infos produits vendus pour passage à TradeDoubler Commentaires Produits
$prods = Db::getInstance()->ExecuteS('SELECT `product_id`,`product_name`,`product_price` FROM `'._DB_PREFIX_.'order_detail` WHERE `id_order` = '.intval($id_order));
$nb_prod = Db::getInstance()->NumRows();
if($nb_prod)
{
   $reportInfo="";
   foreach($prods as $prod)
   {
       //traddoubler
       if($reportInfo!="")$reportInfo.="|";
       $reportInfo.="f1=".$prod[product_id]."&f2;=".$prod['product_name']."&f3;=".$prod['product_price'];
   }
}
$reportInfo = urlencode($reportInfo);

//récup infos client pour passage à TradeDoubler
$customs = Db::getInstance()->ExecuteS('SELECT `email`,`lastname`,`firstname` FROM `'._DB_PREFIX_.'customer` WHERE `id_customer` = '.$order->id_customer);
//traddoubler
$review="name=".$customs[0]['firstname']." ".$customs[0]['lastname']."&email;=".$customs[0]['email'];
$review = urlencode($review);

$TRK_currency=$currency->iso_code;

$smarty->assign(array(
   'id_order'=>$id_order,
   'TRK_currency'=>$TRK_currency,
   'TRK_order'=>$TRK_order,
   'reportInfo'=>$reportInfo,
   'review'=>$review,
   'HOOK_ORDER_CONFIRMATION' => Hook::orderConfirmation(intval($id_order)),
   'HOOK_PAYMENT_RETURN' => Hook::paymentReturn(intval($id_order), intval($id_module))));



Envoie pas mal d'infos à la page order-confirmation.tpl:
Mon client utilise Nextag, Tradedoubler et lengow.
Donc ce code est valide pour les 3

Link to comment
Share on other sites


J'ai le même souci, il me semble que la Prestateam n'en a rien a foutre de l'affiliation car les sujets sans réponses s'entassent...


Les développeurs de l'équipe PrestaShop traitent les bugs signalés dans le Bug Tracker, et uniquement ceux-là.
Il est évident qu'ils ne peuvent pas s'amuser à traiter tous les messages de ce forum traitant de bugs plus ou moins avérés alors qu'un outil spécialement prévu est disponible.

Donc non, la PrestaTeam n'en a pas rien à foutre... :down:
Link to comment
Share on other sites

Ce n'est d'ailleurs pas un bug à proprement parler, c'est plus un développement à ajouter pour qu'on puisse facilement utiliser les trackers dans la page order-confirmation.tpl

Et j'avais aussi relevé la phrase quelque peu agressive et très vexante pour une équipe qui fournit un soft gratuit, et plutôt très complet.
Mais je suis sûr que PieR ne pense pas ce qu'il a écrit, c'était juste un petit coup de sang ?

Link to comment
Share on other sites

En effet ce n'est pas un bug, c'est un manque de fonctionnalité qui commence à dater maintenant, et qui prend 1 minute de prog pour la prestateam.

Oui c'est un petit coup de sang car j'ai déjà eu à discuter de ça l'an dernier sur un salon emarketing, et rien n'est fait...

Prestashop n'est pas un soft gratuit, il utilise un business model bien connu qui permet de faire croire que c'est 100% gratuit pour attirer du monde, mais au final pour mettre un shop en place il faut acheter les modules qui vont bien et ça revient à payer le logiciel. Rien n'est gratuit.

Quand je dis que la prestateam n'en a rien à foutre, c'est qu'il y a des centaines de topic de ce genre vides de réponses depuis des mois, et que lorsque la prestateam intervient c'est rarement avec un morceau de code d'exemple, je me demande s'il sont développeurs ou commerciaux...

Heureusement qu'il y a des gens qui partagent leur code.

Link to comment
Share on other sites

  • 8 months later...
  • 2 years later...

Bonjour,

 

Je me permets de déterrer ce topic...

 

D'autres solutions qu'un module payant ?

 

Parce que je rejoins PieR. ...

Bonjour,

 

vous pouvez très bien développer un module gratuit à partager avec la communauté.

 

Prestashop n'intégrera jamais l'ensemble tracker existant sur le marché.

Link to comment
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
×
×
  • Create New...