Colinee Posted April 20, 2021 Share Posted April 20, 2021 (edited) Bonjour, J'essaie de récupérer le montant de la commande pour l'ajouter en variable sur mon pixel et ainsi tracker le montant payé des commandes. Je n'y arrive pas. Je suis débutante dans le milieu! Je suis avec prestashop 1.7.6.8 J'ai utilisé un plugin pour ajouter le pixel facebook. Le pixel fonctionne très bien, mais je dois y ajouter la variable "value". Voila le code qui se trouve dans le template/ du plugin : <!-- Facebook Pixel Code --> <script> {literal} !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); {/literal} fbq('init', '{$facebookId|escape:"htmlall":"UTF-8"}'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id={$facebookId|escape:"htmlall":"UTF-8"}&ev=PageView&noscript=1" /></noscript> <!-- End Facebook Pixel Code --> {if $page_type == 'orderconfirmation' || $page_type == 'order-confirmation'} <script> fbq('track', 'Purchase', { value: 0.00, currency: 'EUR' }); </script> {/if} Dans mon "OrderConfirmationControllerCore", j'ai ajouté la variable $total_paid dans la function initContent(), est-ce que c'est bien comme ça ? : public function initContent() { if (Configuration::isCatalogMode()) { Tools::redirect('index.php'); } $order = new Order(Order::getIdByCartId((int) ($this->id_cart))); $presentedOrder = $this->order_presenter->present($order); $register_form = $this ->makeCustomerForm() ->setGuestAllowed(false) ->fillWith(Tools::getAllValues()); parent::initContent(); $this->context->smarty->assign(array( 'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation($order), 'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn($order), 'order' => $presentedOrder, 'register_form' => $register_form, 'total_paid' => $order->total_paid, )); if ($this->context->customer->is_guest) { /* If guest we clear the cookie for security reason */ $this->context->customer->mylogout(); } $this->setTemplate('checkout/order-confirmation'); } J'aurai pensé que je pouvais utiliser total_paid dans mon template de plugin avec l'event comme ceci, mais ca ne fonctionne pas, dans la console j'ai "$total_paid is not defined": {if $page_type == 'orderconfirmation' || $page_type == 'order-confirmation'} <script> fbq('track', 'Purchase', { value: $total_paid, currency: 'EUR' }); </script> {/if} Est-ce que quelqu'un est capable de m'aider ? Merci beaucoup Coline Edited April 20, 2021 by Colinee (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 20, 2021 Share Posted April 20, 2021 Il y a 5 heures, Colinee a dit : J'ai utilisé un plugin pour ajouter le pixel facebook. Pourquoi le module ne fait pas ce qu'il faut tout seul ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now