1
Good morning people of stackoverflow :)

私は電子商取引のウェブサイトに取り組んでいます。トラッキング パートナーの 1 つは、「csAdd」という名前の関数のセットアップを必要とします。この関数は、顧客のカートを読み取り、情報をアップロードします。

カートの各行に表示したいのは、このテンプレートに従った情報です。

myTag.csAdd('Sku1', 
  'Sku1Quantity',
  '', 
  'Sku1Quantity*ItemSinglePrice', 
  'ItemSinglePrice', 
'');

Sku2、Sku3 などについても同様です。

結果*は次のようになります。

<script>
  myTag.csAdd('136340026', 
  '2',
  '', 
  '90', 
  '45', 
'');

  myTag.csAdd('774595138', 
  '1',
  '', 
  '49.99', 
  '49.99', 
'');

</script>

一部の一重引用符が空であることに注意してください。これはエラーではありません。トラッキング スクリプトでは、情報が存在しない場合は空の引用符が必要です (たとえば、VAT なしの商品価格)。

*私の問題: JavaScriptに「カートの各行について、csAdd 経由で情報を送信してください」と伝える方法がわかりません。

必要な情報はすでに dataLayer に表示されているので、javascript はこれを「読み取ることができる」と思います:

<script>
dataLayer = [{
  'pageTitle': 'BasketPage',
  'basketId': '2241121',
  'admincosts': '5,5',
  'basketTotal': '145.49',
   'basketProducts': [{
    'sku': '136340026',
    'name': 'Jean',
    'price': '90.00',
    'quantity': '2'
},{
    'sku': '774595138',
    'name': 'Jacket',
    'price': '49.99',
    'quantity': '1'
    }]
}];
</script>

しかし、どうすれば続行できますか?お時間とご協力いただきありがとうございます。

4

1 に答える 1

0

したがって、配列であるプロパティ「basketProducts」を含むjsonオブジェクトの配列dataLayerがあります。2 つの for ループが必要です (各配列に 1 つ)。2 番目の (ネストされた) ループでは、myTag.cs​​Add() メソッドを呼び出して、basketProducts [bProd] 配列内の各製品の必要なプロパティ値を渡します。

for (var i = 0; i < dataLayer.length; i++) {
    var bProd = dataLayer[i].basketProducts;
    for (var j = 0; j < bProd.length; j++) {
        myTag.csAdd(
                    bProd[j].sku,
                    bProd[j].quantity,
                    '',
                    bProd[j].quantity * bProd[j].price,
                    bProd[j].price,
                    ''
                    );
    }
}
于 2014-03-19T11:18:52.023 に答える