我正在使用magento 1.8.1.0社区版,我已注册了adroll重定向服务,需要添加转换跟踪。代码adroll供应添加(到success.phtml)是这样的:
<script type = "text/javascript">
adroll_conversion_value_in_dollars = <?php echo $total ?>;
adroll_custom_data = {"ORDER_ID": "<?php echo $this->__($this->escapeHtml($this->getOrderId())) ?>"};
</script>
我已将其添加到文件的末尾。这不起作用,我的代表说它只适用于企业版(我不能想到为什么会这样)。我进一步搜索并一直在尝试:
<?php
//Get Order Number & Order Total
$order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
$amount = number_format($order->getGrandTotal(),2);
?>
<script type = "text/javascript">
adroll_conversion_value_in_dollars = <?php echo $amount; ?>; //order total
adroll_custom_data = {"ORDER_ID": "<?php echo $this->getOrderId() ?>"}; // Order Number
</script>
如果我通过adroll管理界面添加静态转换金额值并尝试测试结帐,那么它会注册转换并使用该静态金额(因此证明通信发生)。如果我没有静态金额,那么转换没有注册 - 所以这表明实际值没有被传递?
任何人都可以看到该代码是否有问题,或者知道如何实现这一目标。
**更新**
上面的第二组代码正在运行。混淆是因为当我仅依赖静态值时,它会立即更新转换。当我删除静态值并依赖于订单值的传递时,在后端更新需要一些时间(不知道为什么 - 可能以某种方式处理为cron)但我的值是&#34;到达&#34;之后的某些时候,这足以满足我的需求。
答案 0 :(得分:0)
不确定这是否是版本差异,但在我的success.phtml
模板中,我使用了Mage::getModel('sales/order')->load(Mage::getSingleton('checkout/session')->getLastOrderId())
。值得一试。
您可以尝试的其他选项是Mage::getModel('sales/order')->loadByAttribute('quote_id', Mage::getSingleton('checkout/session')->getLastQuoteId())
。