「注文確認ページ」(購入ページに感謝します)で、私のサイトのマーケティング ピクセルを追跡するための優れたデータ レイヤーを取得したいと考えています。このサイトは、e コマース プラットフォームとして OXID Shop を使用しています。
私は次の設定をしたいと思います:
IF currentPage == 'thankyou':
products_info = '[{id: 'product_id_1', price: 'price_1', quantity: 'quantity_1'},
{id: 'product_id_2', price: 'price_2', quantity: 'quantity_2'}]'
ページ変数 "CurrentController" = 'thankyou' の場合、次のコードを使用してバックエンドから直接値を取得しようとしています。これは、1 つの記事の値のみを含む変数に対して簡単に実行できます。
例:
[{if $currentControllerName == "thankyou"}]
var dataLayer = [];
[{assign var="order" value=$oView->getOrder()}]
dataLayer.push(
{email: [{$order->oxorder__oxbillemail->value}]}
);
[{/if}]
問題は、products_info 変数の冒頭で述べたような、複数の記事の値を取得する必要がある場合です。
次のコードを試していますが、イテレータを「追加」する方法や、各製品の値を 1 つの変数に送信する方法がわかりません。
[{if $currentControllerName == "thankyou"}]
var dataLayer = [];
[{assign var="order" value=$oView->getOrder()}]
(
[{foreach from=$orderArticles item="currOrderArticle"}]
[{assign var="currArticle" value=$currOrderArticle->getArticle()}]
[{assign var="currBasePrice" value=$currOrderArticle->getBasePrice()}]
product_info: [{id: [{$currOrderArticle->oxorderarticles__oxartnum->value}],
price: [{$currBasePrice->getBruttoPrice()}],
quantity: [{$currOrderArticle->oxorderarticles__oxamount->value}]}]
[{/foreach}]
)
[{/if}]