我需要把下一个标签代码跟踪销售在我的卖家仪表板。我这里有一个例子,但我不知道如何替换success.phtml
中的变量<script type="text/javascript">
<!--
/* NexTag ROI Optimizer Data */
var id = '3551264';
var rev = '<REVENUE>';
var order = '<ORDER ID>';
var cats = '<CATEGORY1|CATEGORY2|CATEGORY3|...>';
var prods = '<PRODUCT1|PRODUCT2|PRODUCT3|...>';
var units = '<UNITS1|UNITS2|UNITS3|...>';
//-->
</script>
<script type="text/javascript" src="https://imgsrv.nextag.com/imagefiles/includes/roitrack.js"></script>
由于您需要在下订单后执行此操作,因此您将在结帐时添加一些代码来设置magento会话中所需的所有变量。
并不复杂:
#Setting some session values
Mage::getSingleton('core/session')->setCategories('Cat1|Cat2|Cat3');
#Some code to help you get the hang of it
$categories = '';
$products = '';
$cart = Mage::helper('checkout/cart')->getCart()
$items = $cart->getItems();
foreach($items as $item){
$catIds = $item->getProduct()->getCategoryIds();
foreach($catIds as $catId){
$cat = Mage::getModel('catalog/category')->getCollection()->load($catId);
$categories .= $cat->getName();
}
}
Mage::getSingleton('core/session')->setCategories($categories);
然后在你的JS中,当Magento调用success时,你只需要使用php调用变量。所有的php代码都会被替换,和其他模板一样,很多人都不知道你可以在JS中使用这个
Javascript是一种客户端语言,所以你可以把php代码放在里面。这样的:
<script type="text/javascript">
<!--
/* NexTag ROI Optimizer Data */
var id = '3551264';
var rev = '<REVENUE>';
var order = '<ORDER ID>';
var cats = <?php echo Mage::getSingleton('core/session')->getCategories(); ?>;
var prods = '<PRODUCT1|PRODUCT2|PRODUCT3|...>';
var units = '<UNITS1|UNITS2|UNITS3|...>';
//-->
</script>
这段代码并不是完整的解决方案,而是引导你走上正确的道路。
如果你有进一步的问题,或者如果你需要更多的代码帮助,请告诉我。
好的,所以你需要更多的代码帮助
把下面的内容写在你的评论上。phtml
<div class="order-review" id="checkout-review-load">
<?php echo $this->getChildHtml('info') ?>
</div>
<?php
#Some code to help you get the hang of it
$categories = '<';
$products = '<';
$units = '<';
$cart = Mage::helper('checkout/cart')->getCart();
$items = $cart->getItems();
foreach($items as $item){
$units .= $item->getQty() . '|';
$products .= $item->getProduct()->getName() . '|';
$catIds = $item->getProduct()->getCategoryIds();
foreach($catIds as $catId){
$cat = Mage::getModel('catalog/category')->load($catId);
$categories .= $cat->getName() . '|';
}
}
$products = substr($products, 0, -1);
$products .= '>';
$categories = substr($categories, 0, -1);
$categories .= '>';
$units = substr($units, 0, -1);
$units .= '>';
$totals = Mage::getSingleton('checkout/cart')->getQuote()->getTotals();
$subtotal = $totals["subtotal"]->getValue();
Mage::getSingleton('core/session')->setScriptCats($categories);
Mage::getSingleton('core/session')->setScriptProds($products);
Mage::getSingleton('core/session')->setScriptRevenue($subtotal);
Mage::getSingleton('core/session')->setScriptUnits($units);
?>
和以下在你成功的结尾。但是我仍然需要知道Units是什么
<script type="text/javascript">
<!--
/* NexTag ROI Optimizer Data */
var id = '3551264';
var rev = '<<?php echo Mage::getSingleton('core/session')->getScriptRevenue(); ?>>';
var order = '<<?php echo $this->getOrderId(); ?>>';
var cats = '<?php echo Mage::getSingleton('core/session')->getScriptCats(); ?>';
var prods = '<?php echo Mage::getSingleton('core/session')->getScriptProds(); ?>';
var units = '<?php echo Mage::getSingleton('core/session')->getScriptUnits(); ?>';
//-->
</script>
<script type="text/javascript" src="https://imgsrv.nextag.com/imagefiles/includes/roitrack.js"></script>
我很确定它是有效的,这是我的测试环境的结果:
<script type="text/javascript">
<!--
/* NexTag ROI Optimizer Data */
var id = '3551264';
var rev = '<150.99>';
var order = '<10000034>';
var cats = '<Computers|RAM / Memory>';
var prods = '<Crucial 1GB PC4200 DDR2 533MHz Memory>';
var units = '<1>';
//-->
</script>
干杯!