Ajout d'un pixel de suivi dans la page de confirmation de commande
-
13-12-2019 - |
Question
J'ai reçu un pixel de suivi de l'une de notre société de publicité, et ils m'ont demandé de placer ce code dans ma page de confirmation de commande.
Tout d'abord, quelqu'un peut-il me dire où est le fichier de confirmation de commande situé à Magento?
et 2nd si j'ai besoin d'obtenir une valeur "de commande" et "montant" de la commande, alors quoi utiliser dans ce pixel.
<img src="https://www.emjcd.com/u?AMOUNT=AMOUNT&CID=7777777&OID=OID&TYPE=5555555&CURRENCY=GBP&METHOD=IMG" height="1" width="20"/>
Vous pouvez obtenir plus d'informations ici: http://www.pricerunner.co.uk / À propos / À propos / Sales-Suivi-Instructions.html
La solution
Vous devrez copier votre fichier de modèle de base de
app/design/frontend/base/default/template/checkout/success.phtml
à votre chemin thème ultimo
app/design/frontend/ultimo/default/template/checkout
Vous pouvez mettre ci-dessous le code dans votre fichier success.phtml
<?php
$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$grandTotal = $order->getGrandTotal();
$orderCurrency = $order->getOrderCurrencyCode();
?>
<img src="https://www.emjcd.com/u?AMOUNT=<?php echo $grandTotal; ?>&CID=7777777&OID='<?php echo $order_id;?>'&TYPE=5555555&CURRENCY=<?php echo $orderCurrency; ?>&METHOD=IMG" height="1" width="20"/>
Autres conseils
Si vous utilisez le thème RWD, c'est dans /app/design/frontend/rwd/default/template/checkout/success.phtml
L'objet de commande n'est pas présent sur la page de confirmation - elle est déjà déchargée par cette étape.Donc, vous pouvez écrire un module pour accrocher la fonction de sauvegarde de la commande, mais si vous avez besoin d'une solution rapide, vous pouvez charger l'identifiant de la dernière commande en utilisant quelque chose comme (dans Success.Phtml):
$lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();
$order = Mage::getSingleton('sales/order');
$order->load($lastOrderId);
$_totalData =$order->getData();
$_sub = $_totalData['subtotal'];
magento v2.1.x
Voici tout ce dont vous avez besoin avec des valeurs supplémentaires aussi bien
<?php
$merchantid = "<ID>";
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$orderId = $block->getOrderId();
$order = $objectManager
->create('Magento\Sales\Model\Order')
->loadByIncrementId($orderId);
$subtotal = $order->getSubtotal();
$discount = $order->getDiscountAmount();
$affiliateTotal = ($subtotal + $discount);
$ordered_items = $order->getAllVisibleItems();
$skulist = '';
$pricelist = '';
$quantitylist = '';
$last_index = array_search(end($ordered_items), $ordered_items, true);
foreach($ordered_items as $index => $item){
$delimiter = $index === $last_index ? '' : ',';
$skulist .= $item->getSku() . $delimiter;
$quantitylist .= ceil($item->getQtyOrdered()) . $delimiter;
$pricelist .= ($item->getProduct()->getFinalPrice() - ($item->getDiscountAmount() / $item->getQtyOrdered())) . $delimiter;
}
$couponcodes = $order->getCouponCode();
$currency = $order->getOrderCurrencyCode();
//render pixel below
?>
<img src="https://www.emjcd.com/u?tracking=<?php echo $orderId ?>&amount=<?php echo $affiliateTotal ?>&transtype=sale&merchantID=<?php echo $merchantid ?>&couponcode=<?php echo $couponcodes ?>&skulist=<?php echo $skulist ?>&quantitylist=<?php echo $quantitylist ?>&pricelist=<?php echo $pricelist ?>&currency=<?php echo $currency ?>&v=2.0" width="1" height="1">