# Envoltorio de Regalo y Mensaje — Guía completa

> Presentación El módulo Envoltorio de Regalo y Mensaje (dfgiftwrap) añade, dentro del checkout, la elección de un envoltorio de regalo de pago y de una tarjeta de mensaje personalizada. El…

- Página: <https://www.datafirefly.com/es/documentation/dfgiftwrap/>
- Idioma: es
- Actualizado el: 2026-06-18
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfgiftwrap/index.md), [en](https://www.datafirefly.com/en/documentation/dfgiftwrap/index.md), [de](https://www.datafirefly.com/de/documentation/dfgiftwrap/index.md), [it](https://www.datafirefly.com/it/documentation/dfgiftwrap/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfgiftwrap/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfgiftwrap/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfgiftwrap/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

El módulo **Envoltorio de Regalo y Mensaje** (`dfgiftwrap`) añade, dentro del checkout, la elección de un **envoltorio de regalo de pago** y de una **tarjeta de mensaje personalizada**. El cliente selecciona una opción de envoltorio ilustrada, puede añadir un mensaje libre, y el cargo correspondiente se integra limpiamente en el total del pedido — con el IVA, la moneda y el multitienda gestionados por el núcleo de PrestaShop, hasta la factura.

El cargo no es una simple visualización: lo soporta un producto-cargo dedicado y un precio específico limitado al carrito del cliente. El importe aparece así de forma natural en los totales, el pedido y la factura, con el IVA correcto.

## Compatibilidad

- PrestaShop 8.0 a 9.x
- Tienda única y multitienda
- PHP 7.4 a 8.3
- Tema Classic y temas personalizados
- Interfaz entregada en francés y totalmente traducible
- Sin dependencias (sin Composer ni framework)

## Instalación

1. En el back office, abre **Módulos > Gestor de módulos**.
2. Haz clic en **Subir un módulo** y selecciona el archivo `dfgiftwrap.zip`.
3. Una vez instalado, haz clic en **Configurar**.

En la instalación, el módulo crea sus tablas, registra sus hooks (recursos del front, bloque en el checkout, validación del pedido, ficha del pedido en el BO, confirmación) y genera un **producto-cargo oculto** (referencia `DF-GIFTWRAP-FEE`): virtual, no visible en la tienda, precio no mostrado. Es el que soporta el importe de envoltorio + tarjeta en el carrito. No lo elimines manualmente.

## Configuración

### Ajustes generales

- **Activar el envoltorio de regalo**: muestra u oculta el bloque de opciones de envoltorio en el checkout.
- **Activar la tarjeta de mensaje**: muestra u oculta la opción tarjeta + mensaje.
- **Precio de la tarjeta**: importe (sin impuestos) cobrado cuando el cliente añade una tarjeta de mensaje.
- **Longitud máxima del mensaje**: número de caracteres permitidos (200 por defecto). Un contador acompaña al cliente durante la escritura.
- **Grupo de reglas de impuestos**: grupo de IVA aplicado a los cargos de envoltorio y de tarjeta.

### Gestionar las opciones de envoltorio

Desde la página de configuración, haz clic en **«Gestionar las opciones»** para abrir la pantalla dedicada (controlador `AdminDfGiftWrapOptions`). Allí creas tantas opciones como quieras, cada una con:

- **Nombre**: etiqueta multilingüe de la opción (p. ej. «Papel kraft elegante», «Caja de regalo premium»).
- **Precio**: importe sin impuestos de la opción de envoltorio.
- **Imagen**: visual que ilustra la opción (normalizado automáticamente a JPG).
- **Posición**: orden de visualización, modificable mediante arrastrar y soltar.
- **Activo**: muestra u oculta la opción en la tienda sin eliminarla.

El nombre es un campo multilingüe: selecciona cada idioma en el selector del campo para traducir el título de la opción.

## Funcionamiento

### En el checkout

El bloque de envoltorio y tarjeta se inyecta en la parte superior del resumen del pedido mediante el hook `displayCheckoutSummaryTop`. El cliente elige una opción de envoltorio, activa eventualmente la tarjeta y escribe su mensaje. La selección se guarda vía AJAX. Como la elección modifica el importe, el total se actualiza para reflejar el cargo; el mensaje, por su parte, se guarda sin recarga superflua.

### Mecanismo de los cargos

En cada selección, el módulo calcula el importe total (opción de envoltorio + tarjeta) y crea un **precio específico** (`SpecificPrice`) limitado al carrito actual, aplicado al producto-cargo oculto. Este producto se añade al carrito cuando el importe es superior a cero, y se retira en caso contrario. PrestaShop aplica entonces el IVA, la moneda y el contexto multitienda, y el cargo aparece como una línea normal en los totales, el pedido y la factura.

### Dónde aparece el mensaje

En la validación del pedido (`actionValidateOrder`), la selección queda fijada. El mensaje escrito por el cliente es visible en tres lugares:

- en la **ficha del pedido del back office** (bloque dedicado mediante `displayAdminOrderMain`);
- en la **página de confirmación** mostrada al cliente tras la compra;
- en el **campo de regalo nativo** del pedido (`gift_message`, con `gift = 1`), lo que hace que aparezca en los correos estándar de PrestaShop.

Como el mensaje también se guarda en el campo de regalo nativo, tus plantillas de correo y tus herramientas de preparación que ya usan este campo muestran la nota del cliente sin configuración adicional.

## FAQ y resolución de problemas

### ¿Es una tarjeta regalo o un vale?

No. El módulo ofrece un servicio de envoltorio de regalo y una tarjeta de mensaje para regalar, no un medio de pago ni un vale. El cliente paga un envoltorio y puede añadir una dedicatoria.

### El cargo no aparece en el total

Comprueba que el producto-cargo oculto (`DF-GIFTWRAP-FEE`) sigue existiendo y que al menos una opción de envoltorio está activa. Vacía la caché de PrestaShop y vuelve a cargar la página de pedido. El cargo solo se aplica cuando el importe calculado es superior a cero.

### La página de inicio o la tienda se queda en blanco tras la instalación

Asegúrate de usar la última versión del módulo y vacía la caché. El producto-cargo es deliberadamente no visible en la tienda; no lo hagas visible ni lo elimines manualmente.

### El mensaje se corta

El mensaje está limitado por el ajuste **Longitud máxima del mensaje**. Aumenta este valor en la configuración si tus clientes necesitan textos más largos.

### ¿Cómo añado inglés, español, alemán o italiano?

La interfaz se entrega en francés y es totalmente traducible. Ve a **Parámetros avanzados > Traducciones > Traducir los módulos instalados**, elige `dfgiftwrap` y el idioma, y traduce las cadenas. Los nombres de las opciones de envoltorio se traducen directamente en su campo multilingüe.

### ¿Es compatible con PrestaShop 9?

Sí. El módulo está diseñado y probado desde PrestaShop 8.0 hasta 9.x, con un controlador de administración legacy, tanto en tienda única como en multitienda.
