Todo lo que querrías saber antes de instalar.
Una mirada detallada a cómo funciona Módulo Promociones por Cantidad PrestaShop 8 y 9 — Compra X Llévate Y Gratis y Badges Promo, por qué lo construimos así y la lógica detrás de las características anteriores.
El badge hace la venta, no la regla de carrito
Un descuento configurado en PrestaShop permanece invisible hasta que el cliente alcanza la cantidad. El badge invierte esa lógica: anuncia la oferta mientras el cliente recorre la categoría, en el momento exacto en que decide cuántas unidades coge. Por eso el módulo trata la visualización y el cálculo como un mismo objeto. Creas una oferta, y de ella se derivan el badge y el descuento.
Seis mecánicas cubiertas
Compra X llevate Y gratis cubre el 2+1, el 3+1 y el 4+2. El enésimo artículo con descuento cubre el 2º a -25 %, el 3º a -50 % y cualquier otro rango. Dos variantes completan ese formato: un descuento en euros sobre el enésimo artículo, o un precio impuesto del tipo el 2º a 1 euro. El quinto tipo es el precio de lote, 3 por 10 euros, útil cuando prefieres comunicar un precio redondo en lugar de un porcentaje. El sexto es el descuento por tramos, que premia el volumen en todo el carrito en lugar de en un solo artículo.
Descuento por tramos sobre una categoría entera
Defines umbrales de cantidad, por ejemplo -5 % desde 2 artículos y -10 % desde 3. El tramo más alto alcanzado se aplica a cada artículo de la oferta: con 4 artículos, los 4 quedan a -10 %, y no solo el último. En modo mix and match, las cantidades de todos los productos vinculados a la oferta se suman, de modo que un cliente que se lleva dos referencias distintas de una misma categoría alcanza el tramo de 2. Una regla de precios de catálogo nativa no permite esta suma: cuenta las cantidades producto por producto. En el carrito, el cliente ve cuántos artículos le faltan para pasar al tramo siguiente.
Productos ya rebajados: acumular o no
Para el descuento por tramos, un ajuste por oferta decide qué ocurre con los productos que ya tienen un precio específico o una regla de precios de catálogo. En modo acumulado, el tramo se aplica sobre el precio ya rebajado. En modo no acumulado, el tramo se calcula sobre el precio antes de descuentos y el cliente paga el más bajo de los dos precios: un producto ya a -20 % se queda a -20 % con un tramo a -10 %, y un producto a -5 % pasa a -10 %. Los demás tipos de oferta conservan la opción que excluye por completo los productos en promoción.
Precios negociados y clientes B2B
En una tienda que vende a profesionales, parte de los clientes ya tiene una tarifa negociada, configurada como precio específico en su cuenta o en su grupo. La opción de exclusión de los clientes con un precio específico los deja fuera de la oferta producto por producto: sin descuento en el carrito y sin badge en la miniatura. Solo se tiene en cuenta el grupo por defecto del cliente, como en el cálculo de precios de PrestaShop, y los precios específicos abiertos a todos los clientes no activan la exclusión.
Qué artículo se regala
En las ofertas por lote, el motor ordena las unidades elegibles del carrito por precio descendente y aplica la ventaja a las más baratas de cada lote. Es la regla que aplica la gran distribución y la que espera el cliente. En un lote 3+1 formado por artículos de 20, 15, 10 y 5 euros, el artículo regalado es el de 5 euros. El descuento por tramos, en cambio, se aplica a cada artículo.
Agrupación de las cantidades
Hay tres modos de acumulación. Por producto, con todas las combinaciones juntas: seis botes del mismo gel de ducha activan la oferta aunque sean tres aromas distintos. Por combinación: cada variante cuenta por sí misma. Mix and match: todas las unidades de los productos vinculados a la oferta alimentan el mismo recuento, lo que permite montar un 4+2 sobre una gama completa en lugar de una sola referencia.
Prioridad y consumo de unidades
Cuando varias ofertas apuntan al mismo producto, la prioridad decide el orden de aplicación. Una unidad ya consumida por una oferta sale del cálculo para las siguientes, de modo que un mismo artículo nunca se regala dos veces. Con siete artículos y una oferta 4+2, se consumen seis unidades y la séptima queda disponible para otra oferta.
Qué ocurre en el carrito
En cada modificación del carrito, el motor recalcula el total de descuentos y sincroniza una regla de carrito privada cuyo código interno empieza por DFQD. El cliente ve una única línea de descuento y no introduce ningún código. El detalle por oferta se despliega en acordeón bajo la línea Descuento(s), y cada línea de producto afectada muestra el badge de la oferta, su precio inicial tachado y el precio rebajado. Cuando solo faltan unos pocos artículos para activar una oferta o alcanzar el tramo siguiente, un recuadro lo indica con un botón que añade las unidades que faltan. Al validar el pedido, la regla se desactiva y se desvincula del módulo, pero permanece asociada al pedido para tus exportaciones contables y tus abonos.
Personalización del badge
El texto del badge acepta variables que recogen los valores de la oferta: cantidad comprada, cantidad regalada, rango del artículo con descuento, valor del descuento y su equivalente en precio formateado. Escribes « 4+2 gratis » o « el 2º a -25 % » directamente, en cada idioma de la tienda, o dejas el campo vacío para una generación automática, « Hasta -10 % » para un descuento por tramos. Color de fondo, color de texto, forma y posición se ajustan oferta por oferta, lo que permite distinguir una operación de temporada de una oferta permanente.
Integración técnica
Los badges los coloca un script front a partir de una sola llamada Ajax, lo que evita depender del hook displayProductPriceBlock, que muchos temas personalizados ya no llaman. La colocación se repite tras los refrescos Ajax de la búsqueda por facetas, la paginación y el quick view. Para mantener el control, el hook dedicado displayDfQdBadge se llama desde cualquier plantilla, y un ajuste desactiva la inserción automática para evitar duplicados. El bloque de ofertas lo genera displayProductAdditionalInfo y después se desplaza en el navegador hasta la ubicación elegida. No se instala ningún override de clase ni de controlador, y el CSS queda aislado bajo el prefijo dfqd.
No hay valoraciones aún.