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
.C6LcyhsD.png)
- 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:
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:
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:
/*
------------------------------------------------------------------
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:
En la Configuración de Fanplayr, establece un valor para "Prefijo de Oferta de Sesión". Por ejemplo,
FP_
.Crea un cupón con este prefijo, es decir,
FP_10OFF
.Aplica este cupón al carrito. Debería fallar.
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.
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":
parent::init();
a
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.