Intégration PrestaShop 1.6 (et moins)

Home Page > Support > Support marchands > Intégration PrestaShop 1.6 (et moins)

Informations destinées aux commerçants qui utilisent Prestashop.

Important ! Avant d’effectuer des modifications, n’oubliez pas de sauvegarder les fichiers que vous allez modifier.

En outre, vous devez vous assurer que dans le panneau de configuration, Paramètres avancés -> Performance (Advanced settings -> Performance), l’option “Recompiler les fichiers du modèle si mise à jour” est cochée (Recompile files of template if updated).

  • Étape 1 : Implémenter le code
  • Étape 2 : Vider le cache (Prestashop version 1.6.x et plus ancienne)
  • Étape 3 : Tester l’implémentation

Étape 1 : Implémenter le code

Allez dans le répertoire /controllers/front/ et ouvrez le fichier OrderConfirmationController.php. Faites une recherche sur la ligne suivante

public function initContent()
{

et ajouter ce texte :

    /* Kelkoo Sales Tracking */
    $order = new Order($this->id_order);
    $products = $order->getProducts();
    $productsKelkoo=array();
    foreach ($products as $product) {
        $productKelkoo=array('productname'=>$product['product_name'],
                             'productid'=>$product['product_reference'],
                             'quantity'=>$product['product_quantity'],
                             'price'=>$product['unit_price_tax_incl']);
        array_push($productsKelkoo,$productKelkoo);
    }
    $this->context->smarty->assign(array(
        'is_guest' => $this->context->customer->is_guest,          
        'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),        
        'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn(),
        'products_json' => json_encode($productsKelkoo),
        'sales' => $order->getOrdersTotalPaid(),
        'orderid' => $this->id_order
    ));
    /* end Kelkoo Sales Tracking*/

Ensuite, allez dans le répertoire /themes/xxxx/ (où xxxx est le nom du thème choisi, la valeur par défaut est “prestashop”), ouvrez le fichier order-confirmation.tpl et ajoutez le Tracking des ventes Kelkoo en bas du fichier

<script type="text/javascript">
    _kkstrack = {
      {literal}merchantInfo: [{ country:"COUNTRY", merchantId:"COM_ID" }],{/literal}
      orderValue: '{$sales}',
      orderId: '{$orderid}',
      basket: {$products_json}
    };
    (function() {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = 'https://s.kk-resources.com/ks.js';
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    })();
 </script>

Comme vous pouvez le voir, le Ttracking des ventes Kelkoo Group nécessite plusieurs données concernant la commande.

  • Les VALEURS VERTES sont des valeurs fixes (statiques) à transmettre dans le Tag ;
    • COMID_VALUE : Il s’agit de l’identifiant unique représentant votre boutique dans le système Kelkoo. Notez que vous pouvez vous connecter sur votre compte Kelkoo Merchant Extranet et utiliser directement le générateur de tag JS qui mettra automatiquement à jour le code avec votre COMID. Il vous suffit alors de copier-coller le code généré et de mettre à jour les autres valeurs ci-dessous.
    • COUNTRY est le code pays de 2 lettres (minuscules) du pays sur lequel vos produits sont listés sur Kelkoo :
      • ‘at’ pour l’Autriche
      •  ‘be’ pour la Belgique
      •  ‘br’ pour le Brésil
      •  ‘ch’ pour la Suisse
      •  ‘cz’ pour République tchèque
      •  ‘de’ pour l’Allemagne
      •  ‘dk’ pour le Danemark
      •  ‘es’ pour l’Espagne
      •  ‘fi’ pour la Finlande
      •  ‘fr’ pour la France
      •  ‘ie’ pour l’Irlande
      •  ‘it’ pour l’Italie
      •  ‘mx’ pour le Mexique
      •  ‘nb’ pour la Belgique flamande
      •  ‘nl’ pour les Pays-Bas
      •  ‘no’ pour la Norvège
      •  ‘pl’ pour la Pologne
      •  ‘pt’ pour le Portugal
      •  ‘ru’ pour la Russie
      •  ‘se’ pour la Suède
      •  ‘uk’ pour Royaume-Uni
      •  ‘us’ pour les États-Unis
  • Les VALEURS BLEUES sont les valeurs dynamiques requises qui doivent être “récupérées” sur votre boutique en ligne et transmises dans la balise. Veuillez noter qu’une programmation de base est nécessaire pour cette partie. La façon de procéder dépend du langage de programmation dans lequel votre site web est codé et du nom des variables que votre plateforme utilise pour stocker ces informations. Votre web-master ou votre équipe technique saura comment mettre en œuvre cette partie.
    • {$sales} : Tout nombre réel avec un point comme séparateur de décimal représentant le montant total de la commande
    • {$orderid} : Numéro de commande. Chaîne de caractères permettant d’identifier la vente.
  • Les VALEURS BLEU CLAIR sont des valeurs dynamiques supplémentaires que nous vous recommandons de transmettre également dans la balise pour des informations plus détaillées (en suivant l’exemple avec x comme numéro de produit x) :
    • product_name : N’importe quelle chaîne de caractères
    • product_reference : Chaîne de caractères permettant d’identifier le produit
    • product_quantity : Tout nombre entier positif représentant le nombre d’articles pour ce produit spécifique
    • unit_price_tax_incl : Tout nombre réel avec un point comme séparateur de décimal représentant le prix du produit unique

Si vous utilisez le module de paiement PayPal

Si vous avez activé le paiement PayPal, vous devez modifier deux autres fichiers : submit.php et order-confirmation.tpl .

Le premier fichier submit.php se trouve dans /modules/paypal/controllers/front/.

Cherchez la ligne suivante dans la classe PayPalSubmitModuleFrontController (vous devriez la trouver à la ligne 46)

$order = new Order($this->id_order);

et ajoutez ce texte :

    /* Kelkoo Sales Tracking */
    $products = $order->getProducts();
    $productsKelkoo=array();
    foreach ($products as $product) {
        $productKelkoo=array('productname'=>$product['product_name'],
                             'productid'=>$product['product_reference'],
                             'quantity'=>$product['product_quantity'],
                             'price'=>$product['unit_price_tax_incl']);
        array_push($productsKelkoo,$productKelkoo);
    }
    $this->context->smarty->assign(array(
        'is_guest' => $this->context->customer->is_guest,          
        'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(),        
        'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn(),
        'products_json' => json_encode($productsKelkoo),
        'sales' => $order->getOrdersTotalPaid(),
        'orderid' => $this->id_order
    ));
    /* end Kelkoo Sales Tracking*/

Le deuxième fichier order-confirmation.tpl se trouve dans /modules/paypal/views/templates/front/.

Ajoutez le Tracking des ventes Kelkoo au bas du fichier :

<script type="text/javascript">
    _kkstrack = {
      {literal}merchantInfo: [{ country:"COUNTRY", merchantId:"COM_ID" }],{/literal}
      orderValue: '{$sales}',
      orderId: '{$orderid}',
      basket: {$products_json}
    };
    (function() {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = 'https://s.kk-resources.com/ks.js';
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    })();
 </script>

Comme vous pouvez le voir, le Ttracking des ventes Kelkoo Group nécessite plusieurs données concernant la commande.

  • Les VALEURS VERTES sont des valeurs fixes (statiques) à transmettre dans le Tag ;
    • COMID_VALUE : Il s’agit de l’identifiant unique représentant votre boutique dans le système Kelkoo. Notez que vous pouvez vous connecter sur votre compte Kelkoo Merchant Extranet et utiliser directement le générateur de tag JS qui mettra automatiquement à jour le code avec votre COMID. Il vous suffit alors de copier-coller le code généré et de mettre à jour les autres valeurs ci-dessous.
    • COUNTRY est le code pays de 2 lettres (minuscules) du pays sur lequel vos produits sont listés sur Kelkoo :
      • ‘at’ pour l’Autriche
      • ‘be’ pour la Belgique
      • ‘br’ pour le Brésil
      • ‘ch’ pour la Suisse
      • ‘cz’ pour République tchèque
      • ‘de’ pour l’Allemagne
      • ‘dk’ pour le Danemark
      • ‘es’ pour l’Espagne
      • ‘fi’ pour la Finlande
      • ‘fr’ pour la France
      • ‘ie’ pour l’Irlande
      • ‘it’ pour l’Italie
      • ‘mx’ pour le Mexique
      • ‘nb’ pour la Belgique flamande
      • ‘nl’ pour les Pays-Bas
      • ‘no’ pour la Norvège
      • ‘pl’ pour la Pologne
      • ‘pt’ pour le Portugal
      • ‘ru’ pour la Russie
      •  ‘se’ pour la Suède
      •  ‘uk’ pour Royaume-Uni
      •  ‘us’ pour les États-Unis
  • Les VALEURS BLEUES sont les valeurs dynamiques requises qui doivent être “récupérées” sur votre boutique en ligne et transmises dans la balise. Veuillez noter qu’une programmation de base est nécessaire pour cette partie. La façon de procéder dépend du langage de programmation dans lequel votre site web est codé et du nom des variables que votre plateforme utilise pour stocker ces informations. Votre web-master ou votre équipe technique saura comment mettre en œuvre cette partie.
    • {$sales} : Tout nombre réel avec un point comme séparateur de décimal représentant le montant total de la commande
    • {$orderid} : Numéro de commande. Chaîne de caractères permettant d’identifier la vente.
  • Les VALEURS BLEU CLAIR sont des valeurs dynamiques supplémentaires que nous vous recommandons de transmettre également dans la balise pour des informations plus détaillées (en suivant l’exemple avec x comme numéro de produit x) :
    • product_name : N’importe quelle chaîne de caractères
    • product_reference : Chaîne de caractères permettant d’identifier le produit
    • product_quantity : Tout nombre entier positif représentant le nombre d’articles pour ce produit spécifique
    • unit_price_tax_incl : Tout nombre réel avec un point comme séparateur de décimal représentant le prix du produit unique

Étape 2 : Vder le cache (Prestashop version 1.6.x et plus ancienne)

  1. Aller sur la page d’administration (admin page)
  2. Aller sur “avancé” -> “performances” (advanced -> performances)
  3. Cliquez sur “vider le cache” en haut à droite (empty cache)

Étape 3 : Tester l’implémentation

Pour tester votre implémentation, il suffit de simuler une commande passée sur votre site.

  • Rendez-vous sur votre Merchant Extranet Kelkoo Group et connectez-vous à votre compte puis cliquez sur le lien “Voir la page de votre magasin Kelkoo” en haut à droite de la page d’accueil
  •  Cliquez sur l’une de vos offres pour être redirigé vers votre site
  •  Passez une commande sur votre site web
  •  Enregistrez le code source de la page de confirmation (tel qu’il apparaît si vous faites sous Firefox clic droit sur la page puis “Code source de la page”, sous Chrome clic droit sur la page puis “Afficher le code source”) au cas où un débogage supplémentaire serait nécessaire
  •  Le lendemain, rendez-vous sur votre Merchant Extranet Kelkoo Group et connectez-vous à votre compte
  •  Vérifiez dans le menu “Statistiques” que la vente a été enregistrée
  •  Vérifiez que tous les détails ont été correctement enregistrés

Important ! Vérifiez régulièrement que les ventes sont enregistrées. Il est particulièrement important de le faire une fois que vous avez mis en place des mises à jour ou des modifications sur votre site.

Si vous rencontrez des problèmes, veuillez utiliser notre formulaire de contact pour nous envoyer un e-mail.

Si la commande test n’a pas été correctement enregistrée dans votre page de statistiques, veuillez joindre à votre e-mail le code source de la page de confirmation de la commande tel qu’il est apparu (sous Firefox clic droit sur la page puis “Code source de la page”, sous Chrome clic droit sur la page puis “Afficher le code source”). Le code du Tracking des ventes Kelkoo doit normalement être inclus.

Select your location