Jump to content

Récupérer la valeur du montant de la commande FB Pixel


Recommended Posts

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 by Colinee (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...