Je voudrais obtenir un bon suivi de la couche de données pour les pixels marketing de mon site dans la "page de confirmation de commande" (merci pour votre page d'achat). Le site utilise OXID Shop comme plate-forme de commerce électronique.Liste des produits multiples dans php datalayer
Je voudrais avoir la configuration suivante:
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'}]'
J'essaie le code suivant pour obtenir les valeurs directement à partir du backend si ma page variable « CurrentController » = « thankyou », que je peux facilement faire pour une variable qui contient uniquement les valeurs d'un article.
Exemple:
[{if $currentControllerName == "thankyou"}]
var dataLayer = [];
[{assign var="order" value=$oView->getOrder()}]
dataLayer.push(
{email: [{$order->oxorder__oxbillemail->value}]}
);
[{/if}]
La question est quand je dois obtenir des valeurs pour plus d'un article, quelque chose comme ce que je l'ai mentionné au début de la variable products_info.
J'essaie le code suivant, mais je ne suis pas sûr de savoir comment faire le iterator « append » ou envoyer chaque valeur de produits à une seule variable:
[{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}]
Je ne suis pas sûr de ce que vous voulez archiver, mais OXID utilise smarty comme un langage de modèle et vous pouvez utiliser la capture de Smarty pour ajouter la sortie à une seule variable. – Alex2php