Box Builder (Mix & Match): guia completo
Instalar, configurar e explorar o compositor de conjuntos «Mix & Match»: fontes por produto e categoria, 4 modelos de preço, posições por categoria, modelos pré-compostos, surpreenda-me, gravação e partilha, gamificação e estatísticas para PrestaShop 8 e 9.
Apresentação
O módulo Box Builder (Mix & Match) (dfboxbuilder) acrescenta uma página onde os seus clientes compõem o seu próprio conjunto a partir de uma seleção de produtos escolhida por si. Escolhem os artigos numa grelha, acompanham uma barra de progresso, veem o preço a atualizar em direto e acrescentam depois o conjunto completo ao carrinho com um clique. Ideal para conjuntos gourmet, boxes de beleza, cabazes, packs «3 produtos comprados», subscrições de descoberta, etc.
Cria tantos conjuntos quantos quiser, cada um com os seus produtos, as suas regras (mínimo/máximo de artigos) e o seu modelo de preços. Um mesmo catálogo pode alimentar vários conjuntos muito diferentes entre si.
Compatibilidade
- PrestaShop 1.7.6 a 8.x e 9.x
- PHP 7.4 a 8.x
- Loja única e multiloja
- 5 idiomas: FR, EN, ES, DE, IT (100 % traduzido, sem recurso a outro idioma)
- Tema Classic e temas personalizados (compositor em JavaScript nativo, sem dependência do jQuery)
- Sem dependências (nem Composer nem framework)
Instalação
- No back-office, abra Módulos > Gestor de módulos.
- Clique em Instalar um módulo e selecione o ficheiro
dfboxbuilder.zip. - Depois de instalado, abra o separador Box Builder acrescentado ao menu para criar o seu primeiro conjunto.
Na instalação, o módulo cria as suas tabelas, regista os seus hooks (displayHeader, actionFrontControllerSetMedia, displayHome e actionValidateOrder) e acrescenta um separador de administração Box Builder. Na primeira gravação de um conjunto, é gerado automaticamente um produto contentor oculto: é ele que suporta a linha do conjunto no carrinho e não é visível no catálogo.
Configuração de um conjunto
O formulário de edição de um conjunto está organizado em cinco separadores.
Separador Geral
- Nome, descrição, legenda do botão: traduzíveis nos 5 idiomas.
- Artigos mín. / máx.: limites da composição. O máximo determina o objetivo da barra de progresso.
- Permitir repetições e unidades máximas por artigo: permitem (ou não) acrescentar várias vezes o mesmo produto, com um limite por produto.
- Ocultar os produtos esgotados: retira da grelha os produtos indisponíveis (tendo em conta a definição de rutura de cada produto).
- Ativar «Surpreenda-me» e Ativar a gravação e partilha: mostram ou ocultam estas ações do lado do cliente.
- Ativo: publica ou não o conjunto.
Separador Preços
Estão disponíveis quatro modelos de preço:
- Preço fixo: um preço único para o conjunto, seja qual for o seu conteúdo.
- Escalões de volume: o preço muda consoante o número de artigos (por exemplo, 3 artigos = 25 €, 6 artigos = 45 €). Define tantos escalões «a partir de X artigos» quantos forem necessários.
- Soma dos produtos com desconto: o preço é a soma dos produtos que compõem o conjunto, menos uma percentagem de desconto.
- Preço por posição: cada posição (slot) contribui com um preço unitário fixo; o total depende das posições preenchidas.
Este separador comanda também a gamificação: oferta quando o conjunto está completo (escolha do produto oferecido, acrescentado gratuitamente ao carrinho) e portes grátis ao completar.
O preço base ou fixo é introduzido sem impostos. O módulo aplica depois o imposto do produto contentor e apresenta ao cliente o preço com impostos incluídos.
Separador Composição (fontes e posições)
Define os produtos elegíveis que aparecerão na grelha do compositor, através de dois tipos de fontes:
- Produtos: acrescentados um a um, através de uma pesquisa com preenchimento automático.
- Categorias: todos os produtos ativos da categoria passam a ser elegíveis.
A opção Utilizar posições por categoria ativa uma composição «por etapas». Cada posição tem o seu próprio nome, os seus limites mín./máx., o seu eventual preço de posição e as suas próprias fontes. Pode assim exigir, por exemplo, «2 pratos + 3 acompanhamentos + 1 sobremesa». Sem posições, o cliente escolhe livremente na lista global.
Separador Modelos (conjuntos pré-compostos)
Propõe conjuntos «prontos a usar» que o cliente escolhe com um clique e depois ajusta a seu gosto. Cada modelo tem um nome, uma descrição e uma lista de produtos (acrescentados por pesquisa com preenchimento automático). Ideal para orientar o cliente indeciso ou destacar um sortido best-seller.
Separador Restrições
Declara pares de produtos incompatíveis que não podem constar do mesmo conjunto. O compositor impede então a seleção conjunta e a validação no servidor recusa-a.
Utilização do lado do cliente
O compositor interativo
A página de composição apresenta a grelha de produtos (imagem, nome, alerta de «stock reduzido» quando aplicável) e um painel de resumo fixo: barra de progresso, lista dos artigos escolhidos, preço calculado em direto (chamada AJAX otimizada) e mensagens de validação. O botão de adicionar ao carrinho só fica ativo quando a composição respeita todas as regras.
Posições por categoria
Quando as posições estão ativadas, uns separadores orientam o cliente de uma posição para a seguinte, cada um com o seu contador (por exemplo, «Pratos 2/3») e a sua própria seleção de produtos.
Surpreenda-me
O botão Surpreenda-me preenche automaticamente o conjunto com produtos elegíveis, respeitando o máximo de artigos, os limites de cada posição e as incompatibilidades. O cliente pode depois ajustar a seleção proposta.
Gravar e partilhar
O cliente pode gravar a sua composição e obter uma ligação de partilha. Quem abrir essa ligação encontra o conjunto pré-preenchido, pronto a ajustar e a encomendar.
Adição ao carrinho e encomenda
Ao acrescentar ao carrinho, a composição é guardada como personalização da linha (e mantém-se visível no carrinho e depois na encomenda) e é aplicado o preço calculado do conjunto. Se a gamificação estiver ativada, a oferta é acrescentada gratuitamente. Na validação da encomenda, o módulo reduz o stock de cada produto que compõe o conjunto e regista a venda para as estatísticas.
Estatísticas (back-office)
O separador Estatísticas agrega os conjuntos encomendados: volume de negócios, número de encomendas, número médio de artigos por conjunto, desempenho por conjunto e combinações mais populares. O suficiente para identificar os sortidos vencedores e afinar as suas fontes.
Apresentação na página inicial (opcional)
Um bloco de página inicial facultativo lista os seus conjuntos ativos com uma ligação direta para o respetivo compositor. A página de um conjunto também está diretamente acessível pelo seu endereço: index.php?fc=module&module=dfboxbuilder&controller=builder&id_dfbox=ID. Pode criar uma ligação a partir do seu menu, de uma página CMS ou de um banner.
Funcionamento técnico
Para cada conjunto, um produto contentor oculto (visibilidade «em lado nenhum», não navegável) suporta a linha no carrinho. O preço do conjunto é aplicado através de um preço específico limitado ao carrinho do cliente, de modo a que o preço de catálogo do contentor nunca seja mostrado. A composição é guardada como personalização e o stock dos componentes é reduzido na validação da encomenda.
No modelo Soma com desconto, se um cliente acrescentar dois exemplares do mesmo conjunto com composições de preços diferentes, o último preço calculado aplica-se às duas linhas (o preço específico é suportado pelo produto contentor). Nos modelos de preço fixo, por escalões ou por posição com o mesmo número de artigos, não há qualquer impacto.
A eliminação de um conjunto não elimina automaticamente o seu produto contentor oculto (v1). Se eliminar um conjunto de teste, pode retirar manualmente o produto contentor associado a partir do catálogo.
FAQ e resolução de problemas
O compositor não aparece ou os botões não reagem
Limpe a cache do PrestaShop (Parâmetros avançados > Desempenho) e, durante os testes, desative a combinação/compressão de ficheiros (CCC). Certifique-se de que o conjunto está ativo e de que tem pelo menos uma fonte de produtos.
A grelha está vazia
Verifique se as fontes (produtos ou categorias) contêm produtos ativos na loja atual. Se «Ocultar os produtos esgotados» estiver ativado, os produtos indisponíveis não aparecem.
O preço apresentado não corresponde ao que esperava
Verifique o modelo de preços escolhido: o preço fixo ignora o conteúdo, os escalões dependem do número de artigos, a soma com desconto depende do preço dos produtos e o preço por posição depende das posições preenchidas. O preço base é introduzido sem impostos.
O stock dos componentes não é reduzido
A redução ocorre na validação da encomenda (hook actionValidateOrder), não ao acrescentar ao carrinho. Verifique se a encomenda chega mesmo a um estado válido.
Posso exigir uma estrutura precisa (por categorias)?
Sim: ative as posições e defina para cada uma um mínimo/máximo e as suas fontes. Obtém uma composição orientada do tipo «2 + 3 + 1».
É compatível com o PrestaShop 9?
Sim. O módulo é compatível com o PrestaShop 8 e 9, em multiloja e multilingue (FR, EN, ES, DE, IT).
Numa loja portuguesa — O pacote de traduções do módulo não inclui o português. Os nomes, descrições e legendas dos conjuntos são campos multilingues que preenche você mesmo; as legendas da interface do compositor traduzem-se em Internacional → Traduções → Traduções dos módulos instalados, escolhendo dfboxbuilder.