2016-06-29 11 views
0

文字列変数(辞書から取得)をウェブサイトのデータレイヤに渡す方法を探しています。私は、データ層にそれを渡したい場合は、私は次の操作を行い辞書を文字列に変換してデータレイヤーにプッシュするスマイリー構文

 [{foreach from=$orderArticles item="currOrderArticle"}] 
     [{assign var="currBasePrice2" value=$currOrderArticle-getBasePrice()}] 
     product_list.push(
          { 
          id: "[{$currOrderArticle-oxorderarticles__oxartnum->value}]", 
          price: [{$currBasePrice2->getBruttoPrice()}], 
          quantity: [{$currOrderArticle-oxorderarticles__oxamount->value}] 
          } 
     ); 
     products_info.push(
          { 
          transaction_id: '[{$order->oxorder__oxordernr-value}]', 
          transaction_cid: '[{$order->oxorder__oxuserid-value}]', 
          item_id: '[{$currOrderArticle-oxorderarticles__oxartnum->value}]', 
          item_value: '[{$basket-getDiscountedNettoPrice()}]', 
          item_quantity: '[{$currOrderArticle-oxorderarticles__oxamount->value}]' 
          } 
     ); 
    [{/foreach}] 

::次のコードを使用して

私のアレイが構築されて

dataLayer.push({ 
    ProductsInfo: products_info 

});

これは問題なく、実際にこの配列を変更したいという問題があります。私のよう

dataLayer.push({ 
     ProductsInfo: products_info|json_encode|escape:'url' 
}); 

答えて

0

products_info|json_encode|escape:'url' 

しかし、私はプッシュ中にそれを実行しようとするとき、それは動作しません: 私は、データ層にそれを渡す前に、それに以下を適用したいと思います

:あなたはJavaScriptで文字列を使用しているとして、それは引用符で囲む必要があり、また

[{と}]別のポストにあなたに言った、Smartyの式はあなたのケースでは、区切り文字で囲む必要があります。
dataLayer.push({ 
     ProductsInfo: '[{products_info|json_encode|escape:'url'}]' 
}); 
関連する問題