PrestaShop Marketing & Promociones

dffreegift — Regalo automático al alcanzar el umbral del carrito para PrestaShop 8 y 9

Regalo al umbral del carrito — limpio, medible, sin hack de precios.

«Añada 12 € para recibir su regalo»: en la página del carrito, una barra de progreso muestra exactamente cuánto falta para activar la oferta. Al cruzar el umbral, el producto regalo se añade automáticamente al carrito a precio cero. Si el visitante retira un artículo y el carrito baja del umbral, el regalo se retira inmediatamente. El módulo se apoya en el mecanismo nativo CartRule de PrestaShop (campo gift_product): sin cálculos de precio amasados, compatibilidad completa con sus promociones existentes, códigos de descuento, impuestos y multidivisa.

PrestaShop 8.0 → 9.x PHP 8.1+ CartRule nativo Auto-añadir y auto-eliminar Barra de progreso Multi-tienda
  • Reembolso de 30 días
  • 12 meses de actualizaciones
  • Soporte 24h
www.datafirefly.com/es/
dffreegift — Regalo automático al alcanzar el umbral del carrito para PrestaShop 8 y 9
v1.0.0 · actualizado 2026-05-15
Qué hace

La versión corta.

01

Auto-añadido y auto-eliminado al cruzar el umbral

En cada guardado del carrito (hook actionCartSave), el módulo recalcula el total según su configuración (con o sin impuestos, con o sin envío) y asocia o desasocia la regla regalo. El visitante no tiene nada que marcar, ninguna casilla que validar — el regalo aparece o desaparece solo. El cruce del umbral también dispara una animación visual en el bloque de progreso.

02

Bloque visual de progreso en la página del carrito

Muestra automáticamente un banner con la imagen del producto regalo, un mensaje dinámico («Añada 12,40 € para recibir su regalo» o «¡Regalo añadido a su carrito!») y una barra de progreso coloreada. El mensaje pasa de gris-naranja (pendiente) a verde (objetivo alcanzado) al cruzar. Responsive, accesibilidad ARIA, compatible con cualquier tema que exponga el hook estándar displayShoppingCart.

03

Mecanismo nativo de PrestaShop — sin hack de precios

El módulo crea y mantiene una CartRule fantasma (código DFFREEGIFT_xxxxxxxx) con gift_product configurado. Cuando se asocia la regla a un carrito, PrestaShop inserta automáticamente la línea de regalo (gift = 1, precio = 0) — igual que una regla promocional creada manualmente en el back office. Consecuencia directa: compatibilidad nativa con otras promociones, códigos de descuento, impuestos, multidivisa, multi-tienda, checkout y conversión en pedido. El snapshot histórico de los pedidos pasados se mantiene intacto.

04

Configuración fina: umbral, impuestos, envío, stock, grupos de clientes

Todo es configurable desde Módulos → Configurar: ID del producto regalo y combinación específica, importe del umbral con o sin impuestos, inclusión de gastos de envío, verificación de stock (adición automática suspendida si está agotado), restricción a los grupos de clientes elegidos, y conmutadores independientes para el mensaje y la barra de progreso. Multiidioma en el frontal.

La versión larga

Todo lo que querrías saber antes de instalar.

Una mirada detallada a cómo funciona dffreegift — Regalo automático al alcanzar el umbral del carrito para PrestaShop 8 y 9, por qué lo construimos así y la lógica detrás de las características anteriores.

§ 01

La palanca más medible sobre el ticket medio

En una tienda de comercio electrónico, dos variables impulsan los ingresos: el número de pedidos y el ticket medio. El coste de adquirir un nuevo pedido se ha vuelto muy alto (publicidad, SEO, retargeting). Por el contrario, aumentar el carrito de un visitante que ya está a punto de comprar cuesta casi nada — es upsell sobre tráfico ya pagado. El regalo por umbral del carrito es una de las mecánicas más eficaces para eso: el visitante añade voluntariamente unos euros más para no perderse la oferta. Siempre que la mecánica sea visible, cuantificada e instantánea. Eso es exactamente lo que hace dffreegift.

§ 02

El bloque de progreso: mecánica psicológica al céntimo

En la página del carrito, el módulo muestra permanentemente un banner dedicado con la imagen del producto ofrecido, su nombre, y un mensaje que cuantifica la distancia restante al céntimo: «Añada 12,40 € para recibir su regalo». Una barra de progreso coloreada pasa progresivamente de gris-naranja a verde a medida que el umbral se acerca. Al cruzarlo, el banner cambia a verde con el mensaje «¡Regalo añadido a su carrito!» y una animación pulse confirma visualmente el éxito. Esta dramaturgia en tiempo real es lo que transforma una simple promoción condicional en una palanca de comportamiento: el visitante ve llenarse el indicador, calcula mentalmente el esfuerzo a realizar y se decide.

§ 03

Bajo el capó: el mecanismo nativo PrestaShop, bien hecho

La mayoría de los módulos de regalo del mercado manipulan los precios de los productos directamente a través del hook actionProductPriceCalculation, crean líneas de carrito con un precio forzado a cero, o inyectan SpecificPrice temporales. Este enfoque rompe la compatibilidad con otros módulos de promoción más adelante, genera inconsistencias en las exportaciones contables y complica la depuración. dffreegift hace lo contrario: en la instalación, crea una CartRule estándar (visible en Catálogo → Descuentos → Reglas de carrito) con un código DFFREEGIFT_xxxxxxxx y un gift_product inicializado a cero. En cada guardado del carrito, el módulo sincroniza gift_product y gift_product_attribute con su configuración, y luego asocia o desasocia la regla del carrito mediante los métodos nativos Cart::addCartRule y Cart::removeCartRule. PrestaShop se encarga del resto: inserción de la línea de regalo (gift = 1, precio = 0), visualización del carrito, totales, conversión en pedido, snapshot histórico. Sin llamadas directas al precio, sin inyección invasiva — de ahí la compatibilidad nativa con sus otros mecanismos promocionales.

§ 04

Tres triggers de sincronización, más auto-reparación

La lógica principal se ejecuta en el hook actionCartSave, que PrestaShop invoca en cada guardado del carrito — es decir, en cada añadido, modificación o eliminación de producto, pero también al inicio de sesión del cliente (fusión de carrito) y durante algunas acciones del back office. Un flag estático anti-recursión evita que la modificación del carrito por parte del módulo vuelva a disparar el hook en bucle. En paralelo, el hook actionObjectCartRuleDeleteBefore vigila la eliminación manual de nuestra CartRule desde el back office: si un administrador elimina la regla por accidente, la configuración se reinicia y la siguiente sincronización recrea una regla limpia. Por último, en cada guardado de configuración desde la pantalla Configurar, el módulo resincroniza gift_product y gift_product_attribute en la regla existente — nunca tiene que tocar manualmente la regla en la sección Descuentos.

§ 05

Configuración: umbral, impuestos, envío, stock, grupos

La pantalla Módulos → DataFirefly Free Gift → Configurar concentra todo. Un switch maestro para activar o desactivar el conjunto. El ID del producto regalo (introducido a mano, con el nombre del producto mostrado como ayuda tras guardar). Un desplegable con las combinaciones del producto (auto-rellenado tras guardar primero el ID del producto, el módulo lee entonces las combinaciones disponibles). El importe del umbral de activación, con dos switches asociados: Cálculo con impuestos (si no, sin impuestos) e Incluir gastos de envío (si no, solo productos). Un switch Verificar el stock del regalo, que suspende la adición automática si el producto está agotado (respeta la estrategia out-of-stock configurada globalmente en PrestaShop). Una cuadrícula de casillas para restringir la oferta a grupos de clientes específicos — si no se marca ninguna, todos los clientes son elegibles, visitantes no identificados incluidos. Dos switches de visualización independientes para el mensaje y la barra de progreso.

§ 06

Casos de uso típicos

Tienda de cosmética con margen confortable: ofrecer una muestra de perfume a partir de 40 € con IVA para empujar los carritos de 28-35 € hacia 40 €. Moda y accesorios: bolsita de marca de regalo desde 80 € con IVA, calculado sin envío, para fidelizar las primeras compras. B2B equipamiento: llavero o memoria USB a partir de 200 € sin IVA, restringido al grupo Profesionales. Marketplace alimentario: producto de degustación gratuito desde 50 € con IVA envío incluido, para absorber el coste del envío gratuito y llevarlo a la rentabilidad. En todos estos casos la mecánica es la misma: un umbral claro, un regalo deseable, una progresión visible, una adición automática. dffreegift gestiona todo eso sin intervención manual.

§ 07

Compatibilidad PrestaShop 8 y 9 — probada, no prometida

El módulo solo utiliza APIs estables entre versiones: Module, Hook, Configuration, CartRule, Cart, HelperForm, Smarty. Ningún uso de las pestañas de producto Symfony de PrestaShop 9 (que introdujeron incompatibilidades en muchos módulos de terceros), ninguna inyección en el checkout de una sola página, ninguna dependencia de clases deprecated en PS 9. La pantalla de administración usa HelperForm — componente estable idéntico en PS 8 y PS 9. En el frontal, el hook displayShoppingCart está presente y funcional en ambas versiones, y el helper getCurrentLocale (usado para el formateo de precios) está disponible desde PrestaShop 1.7.6. Instale el módulo en PS 8 hoy, migre a PS 9 cuando quiera: ninguna intervención por su parte sobre el módulo.

§ 08

Multi-tienda, multiidioma, código legible

El módulo funciona con la configuración multi-tienda de PrestaShop en el contexto de tienda por defecto. Los mensajes del frontal son traducibles mediante el mecanismo estándar de PrestaShop (Modules.Dffreegift.Shop para el frontal, Modules.Dffreegift.Admin para el back office), con FR, EN, ES y DE preposicionados. El código fuente se entrega abierto (PHP no ofuscado, conforme con las convenciones estándar de PrestaShop) con comentarios en francés e inglés al principio de cada método importante. La lógica principal cabe en un archivo dffreegift.php de menos de 700 líneas — legible y auditable en menos de una hora. Puede modificarlo, extenderlo mediante sus propios hooks, o forkearlo para una necesidad de negocio específica.