PS PrestaShop Principiante

DataFirefly Pack Variants: documentación

Configurar la elección de combinación en los packs nativos de PrestaShop 8, de la instalación a la importación masiva.

Actualizado Versión del módulo 1.2.1

Qué hace el módulo

En PrestaShop, un pack nativo obliga a elegir una combinación concreta para cada uno de sus productos, desde la pestaña Pack del back office. Ese par producto y combinación se escribe en la base de datos y el cliente no tiene forma de cambiarlo. Vender un pack con una camiseta en cuatro tallas obliga por tanto a crear cuatro packs.

DataFirefly Pack Variants añade un selector en la ficha del pack. Para cada producto que marcas como configurable, el cliente elige su combinación. La selección se valida en el servidor, se guarda con la línea de carrito, se arrastra hasta la factura, y el stock descontado es el de la combinación realmente elegida.

El módulo nunca modifica la tabla de packs de PrestaShop. La combinación declarada en el back office se mantiene y sirve de valor por defecto. Si desinstalas el módulo, tus packs vuelven a ser estrictamente nativos.

Instalación

  1. En el back office, abre Módulos > Gestor de módulos, haz clic en Subir un módulo y envía el ZIP.
  2. El módulo crea sus tablas y añade una pestaña Combinaciones de packs en Catálogo.
  3. Abre la configuración del módulo para ajustar el título del bloque, su posición y el comportamiento de la lista nativa.

El módulo se instala en PrestaShop 8.0 a 8.x. No requiere ninguna dependencia Composer ni sobrescribir plantillas del tema.

Configurar un pack

Ve a Catálogo > Combinaciones de packs. El campo de búsqueda solo lista los productos marcados como packs: escribe un nombre, una referencia o un identificador y selecciona el pack. Los packs ya configurados aparecen justo debajo.

La pantalla de edición muestra cada producto del pack, con su cantidad, su combinación declarada y su miniatura. Los productos sin combinaciones se señalan y no ofrecen ningún ajuste.

Los tres modos

  • Combinación fija: comportamiento nativo, sin elección por parte del cliente. Es el modo por defecto.
  • El cliente elige cualquier combinación: se ofrecen todas las combinaciones del producto.
  • El cliente elige entre las combinaciones seleccionadas: marcas las combinaciones permitidas en la lista. Hacen falta al menos dos, de lo contrario se rechaza el guardado.

Limitar la elección a un grupo de atributos

Un producto con Talla y Color genera enseguida decenas de combinaciones. La restricción a un grupo de atributos resuelve el caso más habitual: eliges Talla y los demás atributos quedan fijados en los valores de la combinación declarada en el back office. El cliente solo ve una lista de tallas, el color sigue siendo el que definiste para el pack.

El botón Restablecer este pack, al final de la pantalla, elimina toda la configuración del pack y lo devuelve a sus combinaciones nativas.

Importación masiva

Si tu catálogo ya cuenta con decenas de packs, el panel Importación masiva de la página de inicio del módulo aplica la misma regla a todos. Eliges:

  • Packs a procesar: solo los que aún no están configurados, o todos los packs sobrescribiendo los ajustes existentes.
  • Solo packs activos: para ignorar los packs desactivados.
  • Configuración a aplicar: elección libre en todos los productos, o restablecimiento a las combinaciones fijas nativas.
  • Restricción a un grupo de atributos: Talla por ejemplo, aplicada allí donde exista ese grupo.
  • Productos sin ese grupo: dejarlos fijos u ofrecer todas sus combinaciones.

El botón Vista previa cuenta los packs afectados y simula el primer lote sin escribir nada. El botón Ejecutar la importación procesa después el catálogo en lotes de 25, con barra de progreso. La paginación usa un cursor sobre el identificador de producto, lo que evita los desfases cuando la escritura cambia el perímetro sobre la marcha y los timeouts en catálogos grandes.

Ajustes generales

En la configuración del módulo:

  • Título del bloque: el texto mostrado encima de los selectores, traducible por idioma.
  • Posición del bloque: debajo de la información del producto mediante el hook nativo, o justo encima del botón de añadir al carrito mediante un movimiento en JavaScript.
  • Ocultar la lista nativa del pack: activado por defecto. El módulo muestra él mismo todo el contenido del pack, y mantener la lista nativa enseñaría las combinaciones declaradas, en contradicción con la elección del cliente.
  • Selector CSS de la lista nativa: .product-pack para Classic y Hummingbird. Cámbialo solo si tu tema muestra el contenido del pack en otro sitio.
  • Mostrar los precios de los productos: el precio unitario de cada producto del pack.
  • Ocultar las combinaciones sin stock: si se desactiva, siguen siendo seleccionables cuando el producto permite pedidos sin stock.
  • Ocultar el campo de personalización nativo: déjalo activado, ver la sección siguiente.

Lo que ve el cliente

En la ficha del pack, el módulo muestra una tarjeta con todo el contenido: un desplegable para cada producto configurable y la combinación declarada en texto para los demás. Cada línea lleva la miniatura, la cantidad y, si la opción está activa, el precio unitario.

Si el cliente valida sin haber completado una elección, aparece un mensaje de error bajo el bloque y se bloquea el añadir al carrito. Las combinaciones sin stock se desactivan u ocultan según tus ajustes.

Carrito, pedido y factura

La selección se guarda en el mecanismo de personalización nativo de PrestaShop. Eso es lo que permite que dos packs idénticos con composiciones distintas sigan siendo dos líneas de carrito separadas, cuando el núcleo normalmente agrupa las líneas del mismo producto. Un cliente que añade dos veces exactamente la misma composición ve simplemente cómo la cantidad de la línea existente pasa a dos.

El resumen de la elección aparece automáticamente en el carrito, la confirmación de pedido, los correos, el historial del cliente, el detalle del pedido en el back office y la factura PDF.

El módulo crea un campo de personalización de texto en cada producto pack, marcado como campo de módulo. Algunos temas muestran aun así una caja de texto vacía para ese campo. El ajuste Ocultar el campo de personalización nativo se encarga de ello y debe permanecer activado, salvo que tu tema ya oculte los campos de módulo.

Stock

Un pack nativo descuenta el stock de la combinación escrita en la tabla de packs, no el de la elegida por el cliente. Al validar el pedido, el módulo lo corrige: la combinación declarada se devuelve al stock, la elegida se descuenta, tienda por tienda.

Esta corrección solo se aplica a los packs cuyo modo de gestión de stock descuenta los productos que los componen. Un pack configurado para descontar solo su propio stock no se ve afectado, y la pantalla de edición te avisa de ello.

Resolución de problemas

El bloque no aparece en la ficha de producto

El bloque solo aparece si el pack tiene al menos un producto realmente configurable: modo distinto de fijo, producto con combinaciones y al menos dos combinaciones candidatas tras filtrar por lista blanca, grupo de atributos y stock. Comprueba también que el hook displayProductAdditionalInfo esté registrado en tu tema.

La lista nativa del pack sigue visible

Tu tema no usa .product-pack. Inspecciona la página, anota la clase o el identificador del contenedor e indícalo en el ajuste del selector CSS.

Aparece una caja de texto vacía en la ficha

Es el campo de personalización del módulo, mostrado por algunos temas. Activa el ajuste previsto para ocultarlo.

La elección no aparece en el carrito

Vacía la caché de PrestaShop y comprueba que ningún módulo de terceros sustituya el formulario de añadir al carrito. El módulo intercepta el clic del botón en fase de captura para pasar antes que el script del tema, pero un formulario reconstruido por completo por otro módulo puede esquivar ese punto de enganche.

Límites conocidos

  • El impacto en precio de las combinaciones se ignora. Un pack nativo se vende a un precio único que una personalización no puede modificar. La pantalla de edición señala los productos afectados para que excluyas esas combinaciones de la lista permitida.
  • La factura sigue siendo una línea única al tipo de IVA del pack, con el detalle de las elecciones en el resumen de personalización. Si cada componente debe facturarse por separado con su propio tipo, mira DataFirefly Pack Pro o Pack VAT Pro.
  • Esta versión va dirigida a PrestaShop 8.0 a 8.x. Como la pantalla de gestión de packs cambió de base técnica en PrestaShop 9, el port llegará en una versión dedicada.

Compatibilidad

  • PrestaShop 8.0.0 a 8.x
  • Multitienda: los ajustes se guardan por tienda
  • Multiidioma: interfaz del módulo entregada en español, inglés, francés, alemán, italiano, neerlandés, polaco y portugués
  • Probado en el tema Classic
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte