我是PHP和dataLayer的新手,但我有下面的代码,其中包含一个带有PHP代码的dataLayer。我想使用数据层变量将它们映射到Google标记管理器,并且想要使用下面代码中提供的PHP变量。我想从PHP变量填充如下。dataLayer中的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;
}
}
?>
帮助表示赞赏。
如果你发现自己nubering变量名,那么你或许应该使用数组考虑
这将创建一个数组(cartItems)或收集对象而不是 –
我完全不知道如何做到这一点。请帮忙/解释。 – kishoremcp
您的代码和问题很难遵循。你的“数据层”在哪里,你试图做什么? – nerdlyist