2016-05-19 3 views
0

の割り当て:は動的に私は動的にその値の1を割り当てる、次のJavaScriptコードを持っているGAに拡張eコマーストラッカー

dataLayer.push({ 
    'event': 'checkout', 
    'ecommerce': { 
     'checkout': { 
      'actionField': {'step': 1, 'option': 'Visa'}, 
      'products': [{ 
       'name': 'Triblend Android T-Shirt', 
       'id': '12345', 
       'price': '15.25', 
       'brand': 'Google', 
       'category': 'Apparel', 
       'variant': 'Gray', 
       'quantity': 1 
      }] 
     } 
    } 
}); 

私は新しい変数を作成することによって、動的に「製品」の内容を割り当てます、最終的なコードは次のようにたいので:

{literal} 
dataLayer.push({ 
    'event': 'checkout', 
    'ecommerce': { 
     'checkout': { 
      'actionField': {'step': 1, 'option': 'Visa'}, 
      'products': [ 
       {foreach $products as $product} 
       { 
       'name': 'Triblend Android T-Shirt', 
       'id': '12345', 
       'price': '15.25', 
       'brand': 'Google', 
       'category': 'Apparel', 
       'variant': 'Gray', 
       'quantity': 1 
       } 
       {/foreach} 
      ] 
     } 
    } 
}); 
{/literal} 
01:

dataLayer.push({ 
    'event': 'checkout', 
    'ecommerce': { 
     'checkout': { 
      'actionField': {'step': 1, 'option': 'Visa'}, 
      'products': my_new_array 
     } 
    } 
}); 

それは次のようになりますので、私はSmartyのを使用してそれを実行しようとしました

しかし、動作しません。 これをどのように達成できますか?助けてくれてありがとう。

+0

「機能しません」という問題が実際に役立つ説明ではない場合は、少し具体的になりますか? –

答えて

0

解決策が見つかりました。

var jsonObj = []; 
    for(var i=0; i<products.length; i++){ 
     var item = {}; 
     var position = i + 1; 

     item["id"] = products[i].id_product; 
     item["name"] = products[i].name; 
     item["price"] = products[i].price; 
     item["brand"] = "Brodo"; 
     item["category"] = category.name; 
     item["variant"] = products[i].name; 
     item["list"] = category.name + " list"; 
     item["position"] = position; 
     jsonObj.push(item); 
    } 

    var product_list = JSON.stringify(jsonObj); 
    dataLayer.push({ 
     'ecommerce': { 
      'currencyCode': 'IDR', 
      'products': product_list 
     } 
    }); 
関連する問題