# Calculadora de cantidades por superficie y volumen: instalación y configuración

> Instalación Instale el módulo desde Módulos > Gestor de módulos > Subir un módulo enviando el archivo ZIP, o copie la carpeta dfsurfacecalculator en el directorio /modules/ de su tienda…

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

## Instalación

Instale el módulo desde **Módulos > Gestor de módulos > Subir un módulo** enviando el archivo ZIP, o copie la carpeta `dfsurfacecalculator` en el directorio `/modules/` de su tienda y haga clic en Instalar.

Al instalarse, el módulo crea tres tablas (ajustes por producto, valores por combinación, cálculos guardados en los carritos), registra sus hooks y añade la pestaña **Calculadora de cantidades** en el menú Catálogo. El botón Configurar del gestor de módulos abre la misma página.

La calculadora no aparece en ninguna ficha mientras no haya un producto configurado, así que puede instalar el módulo en una tienda en producción sin ningún cambio visible inmediato.

## Los cinco tipos de cálculo

- **Azulejos y suelos (m²)**: largo × ancho de cada estancia, o superficie conocida. El contenido de una unidad es la superficie que cubre una caja o un paquete.
- **Pintura (litros)**: largo × alto de cada pared, número de manos, rendimiento en m² por litro, puertas y ventanas descontadas. El contenido de una unidad es el volumen del bote.
- **Papel pintado (rollos)**: ancho y alto de cada pared. El módulo cuenta las tiras, redondea el largo de cada tira al rapport del motivo y calcula el número de tiras completas por rollo.
- **Volumen: hormigón, grava, tierra (m³)**: largo × ancho × espesor en centímetros, o volumen conocido. El resultado se da en m³ por unidad, o en sacos si indica la densidad del material y el peso de un saco.
- **Longitud: rodapiés, perfiles (m)**: longitud de cada pared o tramo. El contenido de una unidad es la longitud de una pieza.

## Configurar un producto

Abra la ficha del producto, pestaña **Módulos**, bloque **Calculadora de cantidades**.

1. Marque **Mostrar la calculadora en este producto**.
2. Elija el **Tipo de cálculo** y la unidad de venta en **Se vende por** (caja, paquete, bote, cubo, rollo, saco, pieza, palé o unidad). Es la unidad que ve el cliente: «Necesita 12 cajas».
3. Indique el contenido de una unidad. La etiqueta del campo cambia según el tipo de cálculo: superficie cubierta por una unidad, volumen de un bote, rollos por unidad, volumen de una unidad o longitud de una pieza.
4. Complete los campos propios del tipo de cálculo (ver más abajo).
5. Haga clic en **Guardar los ajustes de la calculadora**. Los ajustes también se guardan con el botón de guardado general de la ficha de producto.

### Pintura

Indique el **Rendimiento** en m² por litro, tal como figura en el bote, y el número de **Manos propuestas por defecto**. La opción **Permitir al cliente descontar puertas y ventanas** añade dos campos a la calculadora; la superficie descontada por puerta y por ventana se ajusta en la configuración del módulo (1,7 m² y 1,5 m² por defecto).

### Papel pintado

Indique el **Ancho del rollo** en centímetros, la **Longitud del rollo** en metros y el **Rapport del motivo** en centímetros (0 o vacío para un papel liso). Si el producto se vende por rollo, deje vacío el campo «Rollos por unidad». Cada tira mide la altura de la pared más 10 cm de recorte, redondeada al rapport siguiente.

### Volumen vendido en sacos

Para un producto vendido al peso, deje vacío el volumen por unidad e indique la **Densidad del material** en kg/m³ y el **Peso de una unidad** en kg. El módulo convierte entonces el volumen en peso y luego en número de sacos. Valores orientativos: grava 1500 a 1700, arena 1600, mortero seco 2000.

### Margen de corte propio del producto

El campo **Margen de corte por defecto para este producto** sustituye el margen preseleccionado solo para este producto. Déjelo vacío para usar el valor del módulo. Si el valor introducido no está entre las opciones ofrecidas, se añade a las opciones de este producto.

## Valores por combinación y combinación de formatos

Si el producto tiene combinaciones, aparece una tabla **Valores por combinación**. Rellene solo las combinaciones cuyo contenido difiere del valor del producto, por ejemplo un bote de 2,5 L y uno de 10 L. Para un producto vendido al peso, el valor introducido es el peso de una unidad en kg.

Si sus combinaciones son formatos de envase, marque **Las combinaciones son formatos de envase: proponer la combinación de tamaños más barata**. Bajo el resultado, la calculadora muestra entonces la combinación de tamaños que cubre la necesidad al precio más bajo, el ahorro frente al tamaño seleccionado y un botón que añade todas las líneas al carrito. La búsqueda abarca los cinco tamaños con mejor precio por unidad de contenido.

## Usar una característica de producto

Si su catálogo ya indica el contenido de una unidad en una característica (por ejemplo «Superficie por caja: 1,44»), selecciónela en **Característica con el contenido por unidad** en la configuración. Sirve de valor predeterminado cuando el campo del producto está vacío. El mismo principio se aplica al rendimiento de la pintura con **Característica con el rendimiento de la pintura**. El módulo lee el primer número del valor, con coma o punto.

## Activación masiva por categoría

En la página del módulo, el bloque **Asignación masiva por categoría** activa o desactiva la calculadora en todos los productos de las categorías seleccionadas, subcategorías incluidas si la casilla está marcada. Elija el tipo de cálculo y la unidad de venta a aplicar. Por defecto, los productos ya configurados conservan sus ajustes; marque **Cambiar también el tipo y la unidad de los productos ya configurados** para sobrescribirlos. Los valores de envase ya introducidos nunca se borran.

Un producto activado sin información de envase, ni en su campo ni en la característica elegida, permanece oculto en la tienda. Aparece con el estado **Incompleto** en la lista de productos configurados, con un enlace para abrir su ficha.

## Productos complementarios

En la pestaña Módulos de la ficha de producto, el bloque **Productos complementarios** asocia hasta 6 productos calculados junto con el producto principal: adhesivo y junta para azulejos, imprimación para pintura, cola para papel pintado, arena para hormigón.

1. Escriba al menos dos caracteres del nombre o de la referencia en **Añadir un producto complementario** y elija el producto o la combinación en la lista. Las flechas del teclado y la tecla Intro también funcionan.
2. Indique el **Consumo** por unidad de medida del cálculo: por m² para azulejos, pintura y papel pintado, por m³ para volumen, por metro para lineal.
3. Indique el **Contenido de una unidad** del producto complementario, en la misma unidad que el consumo.
4. Guarde los ajustes de la calculadora.

La cantidad propuesta es la superficie, el volumen o la longitud neta introducida por el cliente, multiplicada por el consumo, dividida entre el contenido de una unidad y redondeada hacia arriba. Ejemplo: un adhesivo que se consume a 5 kg por m² y se vende en sacos de 25 kg se ajusta con 5 y 25; para 14,7 m², se proponen 3 sacos al cliente. Para prever pérdidas, inclúyalas en el consumo.

En la tienda, los productos aparecen bajo el resultado, marcados por defecto, con su cantidad, su precio y el total. El botón **Añadir los productos marcados al carrito** los añade de una vez. Un producto agotado, cuando no se permiten pedidos sin stock, aparece en gris y desmarcado. Los productos inactivos o no disponibles para pedido no se muestran.

## Descuentos por cantidad y stock

El precio estimado aplica los descuentos por cantidad definidos en PrestaShop para la combinación seleccionada, con la mención «Descuento por cantidad incluido». Las reglas de carrito y los gastos de envío no están incluidos.

Si la gestión de stock está activa y la cantidad calculada supera el stock disponible, el cliente ve el stock restante. Cuando no se permiten pedidos sin stock, el botón de añadir al carrito se oculta y solo queda el enlace **Usar esta cantidad**. Cuando se permiten, se informa al cliente de que el resto se enviará cuando se reponga. La combinación de formatos nunca propone más que el stock disponible de un tamaño y respeta la cantidad mínima de pedido de cada combinación.

## Estadísticas

La página del módulo muestra un bloque **Resultados de la calculadora**, en los últimos 30 días y desde la instalación: carritos con un producto añadido desde la calculadora, pedidos validados de esos carritos, tasa de conversión y facturación sin impuestos de los productos calculados y complementarios, convertida a la moneda predeterminada. Una tabla lista los cinco productos que más facturación han generado.

Solo se cuentan los productos añadidos con los botones de la calculadora, y la opción **Guardar el cálculo con la línea del carrito** debe estar activa para recoger los datos.

## Ajustes del módulo

### Visualización

- **Posición en la ficha de producto**: bajo el botón Añadir al carrito (hook `displayProductAdditionalInfo`), junto a las acciones del producto (`displayProductActions`) o hook personalizado.
- **Color de acento**: color de los botones, de las opciones de margen y del resultado.
- **Precio por m², litro, metro o m³**: muestra «es decir, 22,85 € / m²» bajo el precio, en la ficha de producto y en los listados.
- **Guardar el cálculo con la línea del carrito**: conserva las medidas del cliente para el carrito y la página del pedido en el back office.
- **Mostrar la calculadora plegada**: la ficha de producto muestra un botón «Calcular la cantidad que necesito» que abre la calculadora. Se abre sola si el cliente ya ha introducido medidas, por ejemplo en una página de calculadora.
- **Superficie de puerta descontada** y **Superficie de ventana descontada** en m².

### Márgenes de corte

Para cada tipo de cálculo, introduzca las opciones ofrecidas al cliente, en porcentaje y separadas por comas (por ejemplo `5,10,15`), y el margen preseleccionado. Valores instalados: azulejos 5, 10 y 15 % (10 por defecto), pintura 0 a 15 % (10), papel pintado 0 a 10 % (5), volumen 0 a 10 % (5), rodapiés 5 a 15 % (10).

### Hook personalizado

Para colocar la calculadora en otro lugar de la ficha, elija la posición «Hook personalizado» y añada esta línea a la plantilla de producto de su tema:

```
{hook h='displayDfSurfaceCalculator' product=$product}
```

## Páginas SEO de calculadora

Cada tipo de cálculo puede tener su propia página pública, con la calculadora, sus productos del mismo tipo con la cantidad y el precio calculados para las medidas del visitante, una explicación del método y enlaces a las demás calculadoras. Las direcciones siguen el modelo `/calculadora/azulejos-suelos`, `/calculadora/pintura`, `/calculadora/papel-pintado`. La lista de páginas publicadas y sus enlaces figura en la parte superior de la página del módulo.

- **Activar las páginas de calculadora** y **Páginas a publicar**: publique solo los tipos que corresponden a su catálogo.
- **Prefijo de URL**: común a todos los idiomas, definido en la instalación según el idioma predeterminado de la tienda.
- **Productos mostrados por página**: 12 por defecto, 0 oculta la lista.
- Para cada página y cada idioma: **URL amigable**, **Título** (H1 y etiqueta title), **Meta descripción** y **Texto de introducción**. Títulos y direcciones redactados para las búsquedas habituales vienen rellenados en 8 idiomas.

Las páginas declaran un canonical, las etiquetas hreflang de los idiomas activos y unas migas de pan. Se añaden automáticamente al sitemap del módulo **gsitemap** de PrestaShop en su siguiente generación. La dirección de otro idioma redirige con un 301 a la del idioma mostrado. Si cambia una URL amigable, la dirección anterior deja de servirse: prevea una redirección si la página ya estaba indexada.

El texto de introducción es un buen lugar para sus consejos de colocación y el vocabulario de sus clientes. Evite copiar palabra por palabra la explicación del método, que ya se muestra bajo la calculadora.

## Lo que ve el cliente

El cliente introduce una o varias estancias, paredes o zonas. Cada bloque muestra su subtotal. A partir de la segunda zona, la casilla **Descontar esta zona** permite restar una isla, un ventanal o un armario. Después elige el margen entre sus valores.

El resultado indica la superficie o el volumen, la necesidad con el margen incluido, el número de unidades, el total cubierto con lo que sobra y el precio estimado. El botón **Añadir 12 cajas al carrito** rellena el campo de cantidad y activa el botón de carrito del tema. El enlace **Usar esta cantidad** solo rellena el campo. Si el producto está agotado, solo se ofrece este enlace.

Un valor no numérico se marca en rojo y bloquea el resultado. Un valor muy alto, por ejemplo 120 m para el largo de una estancia, muestra un recordatorio de la unidad esperada. Las medidas se conservan durante la sesión: el visitante las recupera entre la página de calculadora y la ficha de producto.

## Carrito y pedidos

Cuando el cliente añade al carrito desde la calculadora, sus medidas se guardan con la línea. El carrito muestra un resumen bajo el producto, por ejemplo «Superficie 14,7 m² + 10% = 16,17 m². Calculado: 12 cajas», e indica si la cantidad se modificó después. En el back office, la página del pedido muestra un bloque **Cálculos de cantidades** con la misma información.

## Resolución de problemas

### La calculadora no aparece en la ficha de producto

Compruebe en la lista de productos configurados que el producto está activo y que su estado no es **Incompleto**. Compruebe después que el hook de la posición elegida existe en su tema; en caso de duda, pruebe la otra posición o el hook personalizado. Vacíe la caché de la tienda tras cada cambio.

### El mensaje «Falta la información de embalaje para esta opción»

La combinación seleccionada no tiene contenido, ni el producto tampoco. Indique el valor del producto o el de la combinación en la tabla de valores por combinación.

### La página de calculadora devuelve un error 404

Compruebe que las páginas están activadas y que el tipo está marcado en **Páginas a publicar**. Si las URL amigables de la tienda están desactivadas, la página sigue accesible por su dirección larga, indicada en la parte superior de la página del módulo.

### La combinación de formatos no se muestra

La opción debe estar marcada, al menos dos combinaciones deben tener contenido y precio, y la combinación solo se propone si cuesta menos que el tamaño seleccionado.

### El precio por m² no aparece en los listados

Se muestra mediante el hook `displayProductPriceBlock` de tipo `unit_price`, que algunos temas no llaman en las miniaturas de producto. Añada la llamada a la plantilla de miniatura o desactive la opción.

## Compatibilidad

- PrestaShop 8.0 a 9.x, el mismo ZIP cubre las dos ramas.
- Multitienda y multiidioma.
- Arquitectura ModuleAdminController, sin dependencias Composer.
- Interfaz y textos de la calculadora disponibles en francés, inglés, español, alemán, italiano, neerlandés, polaco y portugués.
