# DataFirefly Pack Variants: documentação

> O que faz o módulo No PrestaShop, um pack nativo obriga a escolher uma combinação precisa para cada um dos seus produtos, no separador Pack do back office. Esse par…

- Página: <https://www.datafirefly.com/pt/documentation/dfpackvariants/>
- Idioma: pt
- Atualizado em: 2026-09-17
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfpackvariants/index.md), [en](https://www.datafirefly.com/en/documentation/dfpackvariants/index.md), [es](https://www.datafirefly.com/es/documentation/dfpackvariants/index.md), [de](https://www.datafirefly.com/de/documentation/dfpackvariants/index.md), [it](https://www.datafirefly.com/it/documentation/dfpackvariants/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfpackvariants/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfpackvariants/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## O que faz o módulo

No PrestaShop, um pack nativo obriga a escolher uma combinação precisa para cada um dos seus produtos, no separador _Pack_ do back office. Esse par produto e combinação é escrito na base de dados e o cliente não tem forma de o alterar. Vender um pack com uma t-shirt em quatro tamanhos obriga portanto a criar quatro packs.

O DataFirefly Pack Variants acrescenta um seletor na página do pack. Para cada produto que tornar configurável, o cliente escolhe a sua combinação. A seleção é validada no servidor, guardada com a linha de carrinho, transportada até à fatura, e o stock descontado é o da combinação realmente escolhida.

O módulo nunca modifica a tabela de packs do PrestaShop. A combinação declarada no back office mantém-se e serve de valor por omissão. Se desinstalar o módulo, os seus packs voltam a ser estritamente nativos.

## Instalação

1. No back office, abra **Módulos > Gestor de módulos**, clique em **Carregar um módulo** e envie o ZIP.
2. O módulo cria as suas tabelas e acrescenta um separador **Combinações de packs** em **Catálogo**.
3. Abra a configuração do módulo para definir o título do bloco, a sua posição e o comportamento da lista nativa.

O módulo instala-se em PrestaShop 8.0 a 8.x. Não exige qualquer dependência Composer nem a substituição de templates do tema.

## Configurar um pack

Vá a **Catálogo > Combinações de packs**. O campo de pesquisa no topo lista apenas os produtos marcados como packs: escreva um nome, uma referência ou um identificador e selecione o pack. Os packs já configurados aparecem logo abaixo.

O ecrã de edição mostra cada produto do pack, com a sua quantidade, a sua combinação declarada e a sua miniatura. Os produtos sem combinações são assinalados e não oferecem qualquer definição.

### Os três modos

- **Combinação fixa**: comportamento nativo, sem escolha do lado do cliente. É o modo por omissão.
- **O cliente escolhe qualquer combinação**: são propostas todas as combinações do produto.
- **O cliente escolhe entre as combinações selecionadas**: assinala as combinações permitidas na lista. São necessárias pelo menos duas, caso contrário a gravação é recusada.

### Limitar a escolha a um grupo de atributos

Um produto com Tamanho e Cor gera rapidamente dezenas de combinações. A restrição a um grupo de atributos resolve o caso mais comum: escolhe _Tamanho_ e os restantes atributos ficam fixos nos valores da combinação declarada no back office. O cliente vê apenas uma lista de tamanhos, a cor continua a ser a que definiu para o pack.

O botão **Repor este pack**, no fundo do ecrã, elimina toda a configuração do pack e devolve-o às suas combinações nativas.

## Importação em massa

Se o seu catálogo já tem dezenas de packs, o painel **Importação em massa** da página inicial do módulo aplica a mesma regra a todos. Escolhe:

- **Packs a processar**: apenas os ainda não configurados, ou todos os packs substituindo as definições existentes.
- **Apenas packs ativos**: para ignorar os packs desativados.
- **Configuração a aplicar**: escolha livre em todos os produtos, ou reposição nas combinações fixas nativas.
- **Restrição a um grupo de atributos**: Tamanho por exemplo, aplicada onde esse grupo existir.
- **Produtos sem esse grupo**: deixá-los fixos ou propor todas as suas combinações.

O botão **Pré-visualização** conta os packs envolvidos e simula o primeiro lote sem escrever nada. O botão **Executar a importação** processa depois o catálogo em lotes de 25, com barra de progresso. A paginação usa um cursor sobre o identificador do produto, o que evita os desfasamentos quando a escrita altera o perímetro a meio e os timeouts em catálogos grandes.

## Definições gerais

Na configuração do módulo:

- **Título do bloco**: o texto apresentado acima dos seletores, traduzível por idioma.
- **Posição do bloco**: abaixo das informações do produto através do hook nativo, ou mesmo acima do botão de adicionar ao carrinho através de uma deslocação em JavaScript.
- **Ocultar a lista nativa do pack**: ativo por omissão. O módulo apresenta ele próprio todo o conteúdo do pack, e manter a lista nativa mostraria as combinações declaradas, em contradição com a escolha do cliente.
- **Seletor CSS da lista nativa**: `.product-pack` para Classic e Hummingbird. Altere apenas se o seu tema apresentar o conteúdo do pack noutro local.
- **Mostrar os preços dos produtos**: o preço unitário de cada produto do pack.
- **Ocultar as combinações sem stock**: se desativado, continuam selecionáveis quando o produto permite encomendar sem stock.
- **Ocultar o campo de personalização nativo**: deixe ativo, ver a secção seguinte.

## O que o cliente vê

Na página do pack, o módulo apresenta um cartão com todo o conteúdo: uma lista pendente para cada produto configurável e a combinação declarada em texto para os restantes. Cada linha traz a miniatura, a quantidade e, se a opção estiver ativa, o preço unitário.

Se o cliente validar sem ter completado uma escolha, surge uma mensagem de erro sob o bloco e a adição ao carrinho é bloqueada. As combinações sem stock são desativadas ou ocultadas conforme as suas definições.

## Carrinho, encomenda e fatura

A seleção é guardada no mecanismo de personalização nativo do PrestaShop. É isso que permite que dois packs idênticos com composições diferentes se mantenham como duas linhas de carrinho distintas, quando o núcleo normalmente junta as linhas do mesmo produto. Um cliente que adicione duas vezes exatamente a mesma composição vê simplesmente a quantidade da linha existente passar a dois.

O resumo da escolha aparece automaticamente no carrinho, na confirmação de encomenda, nos e-mails, no histórico do cliente, no detalhe da encomenda no back office e na fatura PDF.

O módulo cria um campo de personalização de texto em cada produto pack, marcado como campo de módulo. Alguns temas apresentam ainda assim uma caixa de texto vazia para esse campo. A definição **Ocultar o campo de personalização nativo** trata disso e deve manter-se ativa, a menos que o seu tema já oculte os campos de módulo.

## Stock

Um pack nativo desconta o stock da combinação escrita na tabela de packs, não o da escolhida pelo cliente. Na validação da encomenda, o módulo corrige: a combinação declarada é reposta, a escolhida é debitada, loja a loja.

Esta correção aplica-se apenas aos packs cujo modo de gestão de stock desconta os produtos que os compõem. Um pack definido para descontar apenas o seu próprio stock não é abrangido, e o ecrã de edição avisa-o disso.

## Resolução de problemas

### O bloco não aparece na página do produto

O bloco só aparece se o pack tiver pelo menos um produto realmente configurável: modo diferente de fixo, produto com combinações e pelo menos duas combinações candidatas após a filtragem por lista permitida, grupo de atributos e stock. Verifique também se o hook `displayProductAdditionalInfo` está registado no seu tema.

### A lista nativa do pack continua visível

O seu tema não usa `.product-pack`. Inspecione a página, anote a classe ou o identificador do contentor e indique-o na definição do seletor CSS.

### Aparece uma caixa de texto vazia na página

É o campo de personalização do módulo, apresentado por alguns temas. Ative a definição prevista para o ocultar.

### A escolha não aparece no carrinho

Limpe a cache do PrestaShop e verifique se nenhum módulo de terceiros substitui o formulário de adicionar ao carrinho. O módulo interceta o clique no botão em fase de captura para passar antes do script do tema, mas um formulário totalmente reconstruído por outro módulo pode contornar esse ponto de ligação.

## Limites conhecidos

- O impacto das combinações no preço é ignorado. Um pack nativo é vendido a um preço único, que uma personalização não pode alterar. O ecrã de edição assinala os produtos em causa para que possa excluir essas combinações da lista permitida.
- A fatura mantém-se numa linha única à taxa de IVA do pack, com o detalhe das escolhas no resumo de personalização. Se cada componente tiver de ser faturado separadamente com a sua própria taxa, veja o DataFirefly Pack Pro ou o Pack VAT Pro.
- Esta versão destina-se ao PrestaShop 8.0 até 8.x. Como o ecrã de gestão de packs mudou de base técnica no PrestaShop 9, o port chegará numa versão dedicada.

## Compatibilidade

- PrestaShop 8.0.0 a 8.x
- Multiloja: as definições são guardadas por loja
- Multilingue: interface do módulo entregue em português, inglês, francês, espanhol, alemão, italiano, neerlandês e polaco
- Testado no tema Classic
