adicionando um pixel de rastreamento na página de confirmação do pedido
-
13-12-2019 - |
Pergunta
Recebi um pixel de rastreamento de uma de nossas empresas de publicidade e eles me pediram para colocar esse código na página de confirmação do pedido.
antes de tudo, alguém pode me dizer onde está localizado o arquivo de confirmação do pedido no magento?
E segundo, se eu precisar obter o valor "ID do pedido" e "Quantidade" do pedido, o que usar neste pixel.
<img src="https://www.emjcd.com/u?AMOUNT=AMOUNT&CID=7777777&OID=OID&TYPE=5555555&CURRENCY=GBP&METHOD=IMG" height="1" width="20"/>
você pode obter mais informações aqui: http://www.pricerunner.co.uk/about/sales-tracking-instructions.html
Solução
Você precisará copiar seu arquivo de modelo base de
app/design/frontend/base/default/template/checkout/success.phtml
Para o caminho do seu tema final
app/design/frontend/ultimo/default/template/checkout
Você pode colocar o código abaixo em seu arquivo 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"/>
Outras dicas
Se você estiver usando o tema RWD, ele está em /pp/design/frontend/rwd/default/template/checkout/success.phtml
O objeto do pedido não está presente na página de confirmação - ele já foi descarregado nesta fase.Portanto, você poderia escrever um módulo para conectar-se à função de salvar pedido, mas se precisar de uma solução rápida, você pode carregar o último ID do pedido usando algo como (em sucesso.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
Aqui está tudo o que você precisa com alguns valores extras também
<?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">