Integración con Prestashop 1.6 (y anteriores)

Home Page > Soporte > Soporte para tiendas > Integración con Prestashop 1.6 (y anteriores)

Información para los anunciantes que utilizan Prestahop.

IMPORTANTE. Antes de realizar ningún cambio, recuerde hacer una copia de seguridad de los archivos que va a modificar.

Adicionalmente, debe asegurarse de que en el panel de Control, Advanced Settings-> Performance, la opción “Recompile files of template if updated” está activada.

  • Paso 1: Implementar el código
  • Paso 2: Vaciar la cache (Prestashop versiones 1.6 y anteriores)
  • Paso 3: Testear implementación

PASO 1: Implementar el código

Vaya al directorio /controllers/front/ y abra el archivo OrderConfirmationController.php.
Busque la línea siguiente:

public function initContent()
{

Y añada este texto:

    /* 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*/

Después, vaya al directorio /themes/xxxx/ (donde XXXX es en nombre del tema que utilice, por defecto es “prestashop”), abra el archivo order-confirmation.tpl y añada el Sales Tracking de Kelkoo al final del archivo.

<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>

Como puede ver, el Sales Tracking de Kelkoo requiere algunos detalles de la orden.

  • Los VALORES EN VERDE son valores fijos (static) que se transfieren al tag;
    • COMID_VALUE: Esta es la ID única de su tienda dentro del sistema de Kelkoo. Puede conectarse a su cuenta de Kelkoo Merchant Extranet y utilizar directamente el JS Tag generator que actualizará automáticamente el código con su COMID. Entonces sólo tiene que copiar y pegar el código generado y actualizar el resto de valores de abajo.
    • COUNTRY_CODE: es el código de dos letras para cada país (en minúsculas) donde van a mostrarse sus productos:
      • “at” para Austria
      • “be” para Bélgica
      • “br” para Brasil
      • “ch” para Suiza
      • “cz” para la República Checa
      • “de” para Alemania
      • “dk” para Dinamarca
      • “es” para España
      • “fi” para Finlandia
      • “fr” para Francia
      • “ie” para Irlanda
      • “it” para Italia
      • “mx” para México
      • “nb” para Bélgica Flamenca
      • “nl” para Países Bajos
      • “no” para Noruega
      • “pl” para Polonia
      • “pt” para Portugal
      • “ru” para Rusia
      • “se” para Suecia
      • “uk” para Reino Unido
      • “us” para Estados Unidos
  • Los VALORES AZULES son los valores dinámicos requeridos que necesitamos obtener de su solución e-commerce y transmitirlos a través del tag. Por favor, tenga en cuenta que son necesarios conocimientos de programación básica para esta parte del proceso. La forma de hacerlo depende del lenguaje de programación en el que esté codificada su página y los nombres que su plataforma utilice para almacenar los valores de cada variable. Por favor, contacte con su webmaster o su equipo de soporte técnico si necesita ayuda.
    • {$sales}: cualquier número real, con punto como separador decimal, que representa el valor en euros de la orden de compra.
    • {$orderid}: cualquier valor que utilice para identificar individualmente esta orden de compra.
  • Los VALORES AZUL CLARO LIGHT BLUE VALUES son valores dinámicos adicionales que recomendamos que se transmitan a través del tag para tener información más detallada.
    • product_name: cualquier valor identificando el producto
    • product_reference: cualquier valor identificando el código de producto
    • product_quantity: cualquier número positivo y entero que represente el número de unidades para ese producto en concreto dentro de la orden de compra.
    • unit_price_tax_incl: cualquier número real, con punto como separador decimal, que represente el valor unitario del producto, impuestos incluidos.

Si utiliza un módulo de Paypal para los pagos

Si tiene activados los pagos a través de Paypal, tiene que modificar dos archivos más: submit.php y order-confirmation.tpl .
El primer archivo, submit.php, se encuentra en /modules/paypal/controllers/front/.
Busque la siguiente línea de Código dentro de PayPalSubmitModuleFrontController (debería estar en la línea 46)

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

Y añada este código:

    /* 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*/

El segundo archive, order-confirmation.tpl, se encuentra en /modules/paypal/views/templates/front/.

Añada el Sales Tracking de Kelkoo al final de la línea

<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>

Como puede ver, el Sales Tracking de Kelkoo requiere algunos detalles de la orden.

  • Los VALORES EN VERDE son valores fijos (static) que se transfieren al tag;
    • COMID_VALUE: Esta es la ID única de su tienda dentro del sistema de Kelkoo. Puede conectarse a su cuenta de Kelkoo Merchant Extranet y utilizar directamente el JS Tag generator que actualizará automáticamente el código con su COMID. Entonces sólo tiene que copiar y pegar el código generado y actualizar el resto de valores de abajo.
    • COUNTRY_CODE: es el código de dos letras para cada país (en minúsculas) donde van a mostrarse sus productos:
      • “at” para Austria
      • “be” para Bélgica
      • “br” para Brasil
      • “ch” para Suiza
      • “cz” para la República Checa
      • “de” para Alemania
      • “dk” para Dinamarca
      • “es” para España
      • “fi” para Finlandia
      • “fr” para Francia
      • “ie” para Irlanda
      • “it” para Italia
      • “mx” para México
      • “nb” para Bélgica Flamenca
      • “nl” para Países Bajos
      • “no” para Noruega
      • “pl” para Polonia
      • “pt” para Portugal
      • “ru” para Rusia
      • “se” para Suecia
      • “uk” para Reino Unido
      • “us” para Estados Unidos
  • Los VALORES AZULES son los valores dinámicos requeridos que necesitamos obtener de su solución e-commerce y transmitirlos a través del tag. Por favor, tenga en cuenta que son necesarios conocimientos de programación básica para esta parte del proceso. La forma de hacerlo depende del lenguaje de programación en el que esté codificada su página y los nombres que su plataforma utilice para almacenar los valores de cada variable. Por favor, contacte con su webmaster o su equipo de soporte técnico si necesita ayuda.
    • {$sales}: cualquier número real, con punto como separador decimal, que representa el valor en euros de la orden de compra.
    • {$orderid}: cualquier valor que utilice para identificar individualmente esta orden de compra.
  • Los VALORES AZUL CLARO LIGHT BLUE VALUES son valores dinámicos adicionales que recomendamos que se transmitan a través del tag para tener información más detallada.
    • product_name: cualquier valor identificando el producto
    • product_reference: cualquier valor identificando el código de producto
    • product_quantity: cualquier número positivo y entero que represente el número de unidades para ese producto en concreto dentro de la orden de compra.
    • unit_price_tax_incl: cualquier número real, con punto como separador decimal, que represente el valor unitario del producto, impuestos incluidos.

PASO 2: VACIAR CACHE (PRESTASHOP VERSIONES 1.6.X Y ANTERIORES)

  1. Vaya a la página de admin
  2. Vaya a “advanced”-> “performaces”
  3. Pinche en “Empty cache” en la esquina superior izquierda

PASO 3: TESTEAR LA IMPLEMENTACION

Para testear la implementación, sencillamente simule una orden de compra en su web.

  • Vaya a su Kelkoo Merchant Extranet y acceda a su cuenta. Pinche en el link “Ver su página de tienda Kelkoo” en la esquina superior izquierda de la Home.
  • Pinche en cualquiera de sus ofertas para ser redirigido a su web.
  • Haga una compra en su web.
  • Guarde el código fuente de la página de confirmación (tal y como aparece si pincha en “Ver” -> “Ver código fuente”) en caso de que sea necesario depurar el código.
  • Pasadas 24 horas acceda de nuevo a su Kelkoo Merchant Extranet y acceda a su cuenta.
  • Compruebe en el menú “Estadísticas” que la compra se ha registrado correctamente.
  • Compruebe que todos los detalles de la compra se hayan registrado correctamente.

¡Importante! Compruebe con regularidad que las ventas se registran correctamente. Esto es especialmente importante después de actualizar o realizar cambios en su web.

Si encuentra algún problema, por favor utilice el formulario de contacto para enviarnos un email. Si el test de compra no se ha registrado correctamente en la página de “Estadísticas”, por favor, adjunte en su email el código fuente de la confirmación de la compra (“Ver”>”Ver código fuente”). El Sales Tracking Code de Kelkoo debería incluirse también.

Select your location