0

我是 PHP 和 dataLayer 的新手,但我有以下代码,其中包括一个带有 PHP 代码的 dataLayer。我想使用数据层变量将它们映射到谷歌标签管理器,并想使用下面代码中可用的 PHP 变量。我想从 PHP 变量中填充的内容如下。

名称、价格、类别和数量从 PHP 变量填充到数据层结构。

此外,它应该以类似方式获取所有产品变量,具体取决于加载此代码的页面上有多少。

此外,希望填充 transactionTotal,它是单个产品价格的所有价格的总和。

var cartItemMap = new Object();
    var cartItem1 = null;
    var cartItem2 = null;
    var cartItem3 = null;
    var cartItem4 = null;
    var cartItem5 = null;
    var cartItem6 = null;
    var cartItem7 = null;
    var cartItem8 = null;
    var cartItem9 = null;
<?php
    $size = 0;
    foreach($_SESSION['product'] as $key => $pro){ 
        $size = $size + 1;
    }
    $i = 1;
    foreach($_SESSION['product'] as $key => $pro){ 

        if($size > 9){
            $size = $size -1;
        }
        else{
?>

dataLayer = [{
    'transactionId': Math.floor((Math.random() * 100) + 1),
    'transactionTotal': 11.99,
    'transactionTax': 1.29,
    'transactionShipping': 5,
    'transactionProducts': [{
        'sku': 121212,
        'name': "Test",
        'category': "Testing Category",
        'price': 33,
        'quantity': 1
    },{
        'sku': 'AA1243544',
        'name': 'Socks',
        'category': 'Apparel',
        'price': 9.99,
        'quantity': 2
    }]
}];

if("<?php echo $pro['product_name'] ?>" != ''){
    cartItem<?php echo $i ?> = new Object();

    cartItem<?php echo $i ?>.productName = "<?php echo $pro['product_name'] ?>";
    cartItem<?php echo $i ?>.productPrice = "<?php echo $pro['product_price'] ?>";
    cartItem<?php echo $i ?>.productQuantity = <?php echo $pro['product_quantity'] ?>;
    cartItem<?php echo $i ?>.productCategory = "<?php echo $pro['product_category'] ?>";
    cartItemMap[<?php echo $key ?>] = cartItem<?php echo $i ?>;
}
<?php
        $i = $i + 1;
    }
}
?>  

帮助表示赞赏。

4

1 回答 1

1

你可以尝试这样的事情:

<script type="text/javascript">
    var cartItems = [
        <?php foreach($_SESSION['product'] as $key => $pro): ?>
        {
            productName: "<?= $pro['product_name']; ?>",
            productPrice: "<?= $pro['product_price']; ?>",
            productQuantity: "<?= $pro['product_quantity']; ?>",
            productCategory: "<?= $pro['product_category']; ?>"
        },
        <?php endforeach; ?>
    ];
</script>

这将创建对象 (cartItem) 的数组 (cartItems)

于 2017-01-09T15:13:32.107 回答