我正在尝试为Google Analytics(分析)创建JavaScript数组。
下面是我的代码。我认为语法不正确。语法的第一部分是可以的,即购买,但是当我尝试在此对象中创建数组时,我认为我遇到了问题。
i.e: 'products': []
我不确定如何向该对象添加数组。
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '<?php echo $order->getId()?>', // Transaction ID. Required for purchases and refunds.
'affiliation': '<?php echo $order->getAffiliation() ?>',
'revenue': '<?php echo $orderGrandTotal?>', // Total transaction value (incl. tax and shipping)
'tax': '<?php echo $orderTax?>',
'shipping': '<?php echo $orderShippingTotal?>',
'coupon': '<?php echo $order->getCouponCode() ?>'
},
'products': [
<?php foreach($orderItems as $item): ?>
<?php $intCtr++;?>
<?php if($item->getParentItemId()) continue;?>
{
'name': '<?php echo $this->jsQuoteEscape($item->getName()) ?>', // Name or ID is required.
'id': '<?php echo $item->getSku() ?>',
'price': '<?php echo ($helper->sendBaseData()==true ? $item->getBasePrice() : $item->getPrice()) ?>',
'brand': '<?php echo $helper->getBrand($item->getProduct()) ?>',
'category': '<?php echo $helper->getQuoteCategoryName($item) ?>',
'quantity': <?php echo $item->getQtyOrdered()?>
<?php if ($intCtr==count($orderItems)):?>
<?php endif;?>
}
<?php endforeach;?>
]
},
}
});
答案 0 :(得分:0)
我只会用PHP做很多事情。
$array = [
'ecommerce' => [
'purchase' => [
'id'=> $order->getId(),
// etc etc
],
],
];
$json = json_encode($array);
然后只需在Java语言中一口气回声!
{"ecommerce":{"purchase":{"id":12345}}}