Skip to content

PrestaShop

La integración es sencilla utilizando nuestro módulo proporcionado. Actualmente, soportamos PrestaShop 1.7 y versiones superiores. La última versión se puede descargar aquí:

https://cdn.fanplayr.com/integrations/prestashop/packages/prestashop-1.2.0.zip

Instalación

  • Inicia sesión en tu administración de PrestaShop
  • Ve a Módulos y Servicios
Prestashop 1.6 Prestashop 1.7
  • Haz clic en el botón Añadir un nuevo módulo en la esquina superior derecha

  • Haz clic en Elegir un archivo y selecciona el módulo de PrestaShop que descargaste.

  • Haz clic en Subir este módulo

El módulo ya debería haberse añadido a tu tienda PrestaShop. Sin embargo, aún necesitas encontrarlo e Instalarlo.

  • Desplázate hacia abajo y haz clic en la sección Precios y Promociones de los módulos

  • Ahora deberías ver Fanplayr Conversions listado.
  • Haz clic en el botón Instalar.

  • Una vez instalado, deberías ver la pantalla de configuración de Fanplayr.
  • Introduce tu Clave de Cuenta y un Prefijo de Oferta de Sesión (ver más abajo)
  • Haz clic en Guardar

¡Fanplayr debería estar ahora rastreando usuarios y pedidos en tu sitio!

Ofertas de Sesión

Fanplayr tiene la capacidad de evitar que tus usuarios utilicen códigos de cupón de Fanplayr que no les fueron entregados a través del sistema Fanplayr. Para más detalles sobre cómo funciona esto, consulta Ofertas de Sesión.

Dado que PrestaShop no permite la modificación de la funcionalidad principal a través de módulos, deberás añadir el siguiente código a uno de tus controladores.

PrestaShop 1.6 y superior:

El controlador se puede encontrar aquí: controllers/front/ParentOrderController.php

Alrededor de la línea 102 encontrarás el siguiente código:

php
if ($this->nbProducts) {
    if (CartRule::isFeatureActive()) {
        if (Tools::isSubmit('submitAddDiscount')) {
        // INSERTA EL CÓDIGO AQUÍ

PrestaShop 1.7:

El controlador se puede encontrar aquí: controllers/front/CartController.php

Alrededor de la línea 238, dentro de la función updatecart() encontrarás el siguiente código:

php
protected function updateCart()
    {
        // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots
        if ($this->context->cookie->exists()
            && !$this->errors
            && !($this->context->customer->isLogged() && !$this->isTokenValid())
        ) {
            if (Tools::getIsset('add') || Tools::getIsset('update')) {
                $this->processChangeProductInCart();
            } elseif (Tools::getIsset('delete')) {
                $this->processDeleteProductInCart();
            } elseif (CartRule::isFeatureActive()) {
                if (Tools::getIsset('addDiscount')) {
                // INSERTA EL CÓDIGO AQUÍ

Por favor, introduce el siguiente código de Fanplayr directamente debajo de esta línea:

php
/*
    ------------------------------------------------------------------
    inicio Ofertas de Sesión de Fanplayr
*/
$fanplayrSessionOfferPrefix = strtolower(Tools::getValue('fanplayr_prefix', Configuration::get('FANPLAYR_CONFIG_PREFIX')));
@$allowedCoupons = (array)json_decode($_COOKIE['fanplayr_so']);
$code = strtolower(trim(Tools::getValue('discount_name')));
if ( !is_array($allowedCoupons) ) {
    $allowedCoupons = [];
}
// si tenemos un prefijo de oferta de sesión Y el código introducido tiene este prefijo Y el código no está en los cupones permitidos
if (strlen($fanplayrSessionOfferPrefix) > 0 &&
    strpos($code, $fanplayrSessionOfferPrefix) === 0 &&
    !array_key_exists($code, $allowedCoupons)
) {
    // entonces borramos el cupón de las variables GET y POST
    $_POST['discount_name'] = '';
    $_GET['discount_name'] = '';
}
/*
    ------------------------------------------------------------------
    fin Ofertas de Sesión de Fanplayr
*/

Ahora no deberías poder utilizar cupones que comiencen con el Prefijo de Oferta de Sesión configurado en tu módulo Fanplayr, a menos que hayas obtenido este cupón de una campaña de Fanplayr.

Probando Ofertas de Sesión

Para comprobar que las Ofertas de Sesión se han implementado correctamente, prueba lo siguiente:

  1. En la Configuración de Fanplayr, establece un valor para "Prefijo de Oferta de Sesión". Por ejemplo, FP_.

  2. Crea un cupón con este prefijo, es decir, FP_10OFF.

  3. Aplica este cupón al carrito. Debería fallar.

  4. Visita la URL que permite este cupón, es decir:

    https://mystore.com/modules/fanplayr/api.php?coupon&sessionOffer&code=FP_10OFF

    Esto debería permitir que el cupón se utilice en la sesión actual.

  5. Aplica este cupón de nuevo. Esta vez debería aplicarse correctamente.

Si el cupón no falla en el paso 3, es posible que tengas que cambiar otra línea de código. Intenta cambiar la siguiente línea en tu método "init":

php
parent::init();

a

php
FrontController::init();

Una vez completado esto, es posible que necesites borrar tu caché, eliminar el cupón e intentar aplicarlo de nuevo. Ten en cuenta que si ya has pasado por el paso 4, primero tendrás que eliminar todas las cookies del sitio para borrar la sesión actual.