DataFirefly Pack Variants: documentação
Configurar a escolha da combinação nos packs nativos do PrestaShop 8, da instalação à importação em massa.
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
- No back office, abra Módulos > Gestor de módulos, clique em Carregar um módulo e envie o ZIP.
- O módulo cria as suas tabelas e acrescenta um separador Combinações de packs em Catálogo.
- 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-packpara 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