php - Magento 中的 Nextag ROI 代码

标签 php javascript magento magento-1.4

我需要在我的卖家仪表板中添加 nextag 代码来跟踪销售情况。 我这里有示例,但我不知道如何替换 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 session 中所需的所有变量。

其实并不复杂:

#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中你只需要使用php调用你的变量,当Magento调用success.phtml时,所有的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);

?>

在 success.phtml 的末尾有以下内容,但我仍然需要知道单位是什么

<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>

干杯!

关于php - Magento 中的 Nextag ROI 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766767/

相关文章:

php - 如何将多维数组转化为json对象

php - 调用未定义的函数 mcrypt_decrypt() - 即使安装了 php5-mcrypt

javascript - 增加和减少字母

javascript - 为什么这段代码会根据我的需要更改位置

php - Getimagesize() - 读取错误

php - php程序查看函数

php - 在数据库中查找、获取和替换部分字符串的最快方法

javascript - 如何将文本输入字段值设置为常量并将该值记录在 Cypress.io 中

magento 对自定义集合进行分页

php - C++ SOAP 客户端