【问题标题】:Nextag ROI Code in MagentoMagento 中的 Nextag ROI 代码
【发布时间】:2011-10-14 11:10:45
【问题描述】:

我需要将 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>

【问题讨论】:

    标签: php javascript magento magento-1.4


    【解决方案1】:

    由于您需要在下订单后执行此操作,因此您将在结帐时添加一些代码以设置您在 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中你只需要使用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>
    

    该代码并非旨在成为完整的解决方案,而是让您走上正确的道路。

    如果您还有其他问题或在代码方面需要更多帮助,请告诉我。

    好的,所以你需要更多关于代码的帮助

    将以下内容放在您的 review.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一无所知,所以它对我来说真的很复杂。实际上我是一名 .net 程序员,但我是一个 magento 网站的网站管理员,如果你告诉我如何填写其他变量,我会很棒。这需要在success.phtml上完成吗?对吗?
    • 好的,今晚晚些时候我会帮你提供更详细的代码。
    • 新的编辑应该完全工作,除了单位,我需要知道单位中有什么价值
    • 顺便说一句,谢谢,你太棒了,我会等单位的事情,这样我就可以全面测试了:)
    猜你喜欢
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多