Agregar un píxel de seguimiento en la página de confirmación de pedidos
-
13-12-2019 - |
Pregunta
He recibido un píxel de seguimiento de una de nuestras empresas de publicidad, y me pidieron que colocara ese código en la página de confirmación de mi pedido.
En primer lugar, ¿puede alguien decirme dónde está el archivo de confirmación del pedido ubicado en Magento?
y 2º si necesito obtener el valor de "ID de pedido" y la "cantidad" del pedido, entonces qué usar en este píxel.
<img src="https://www.emjcd.com/u?AMOUNT=AMOUNT&CID=7777777&OID=OID&TYPE=5555555&CURRENCY=GBP&METHOD=IMG" height="1" width="20"/>
Puede obtener más información aquí: http://www.pricerunner.co.uk / Acerca de las instrucciones de seguimiento de ventas.html
Solución
Deberá copiar su archivo de plantilla de base de
app/design/frontend/base/default/template/checkout/success.phtml
a su ruta del tema de Ultimo
app/design/frontend/ultimo/default/template/checkout
Puede poner por debajo del código en su archivo 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"/>
Otros consejos
Si estás usando el tema RWD, está en /app/Design/frontend/rwd/Default/template/Checkout/success.phtml
El objeto de pedido no está presente en la página de confirmación: ya está descargada por esta etapa.Por lo tanto, puede escribir un módulo para enganchar en la función GUARDAR DE PEDIDO, pero si necesita una solución rápida, podría cargar el ID de última orden usando algo como (en 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
Aquí hay todo lo que necesita con algunos valores adicionales también
<?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">