PS PrestaShop Intermédio

Packs de produtos e bundles: documentação

Criar packs e bundles no PrestaShop 8 e 9: composição, quatro modos de preço, apresentação nas fichas de produto, comportamento no carrinho e adaptação ao tema.

Atualizado Versão do módulo 2.8.0

Instalação

O módulo instala-se como qualquer módulo PrestaShop, pelo back-office ou por FTP.

  1. Em Módulos e depois Gestor de módulos, clique em Carregar um módulo e coloque o ficheiro dfpackpro.zip.
  2. Por FTP, descomprima o arquivo na pasta /modules/ da sua loja e instale depois o DataFirefly – Packs e Bundles a partir do gestor de módulos.
  3. Limpe a cache em Parâmetros avançados e depois Desempenho.

A instalação cria oito tabelas com o prefixo ps_dfpackpro, regista os hooks necessários e acrescenta o separador Packs e Bundles (DF) ao menu Catálogo.

O módulo não instala qualquer override de classe ou de controlador. A desinstalação elimina as tabelas, as chaves de configuração e o separador.

Definições gerais

O botão Configurar da ficha do módulo abre as definições que se aplicam a todos os packs.

  • Posição do bloco na ficha de produto: por baixo do bloco de compra, no rodapé da ficha, ou ambos. O bloco lista os packs que contêm o produto consultado.
  • Bloco de packs ativo: corta a apresentação de venda cruzada sem desinstalar. As páginas de pack continuam acessíveis.
  • Número máximo de packs apresentados: 3 por predefinição.
  • Ordenação dos packs: posição, data de criação, ou aleatória.
  • Mostrar os preços unitários: detalha o preço de cada componente na página do pack.
  • Mostrar a poupança: etiqueta e montante poupado, no bloco da ficha de produto e na página do pack.
  • Mostrar a disponibilidade: estado de stock do pack, calculado a partir dos stocks dos componentes.
  • Modo de carrinho estrito: se o cliente retirar um componente, todo o pack e o seu desconto são retirados. Inativo, a remoção é aceite e o desconto mantém-se no resto.
  • Depois de adicionar ao carrinho: redirecionamento para o carrinho, ou confirmação no lugar.
  • Cor de destaque: cor das etiquetas, dos botões e das margens dos blocos do módulo.
  • Produto montra no catálogo: ativa o produto montra gerado para cada pack (listagens, pesquisa, sitemap).
  • Base de preço da montra: com IVA para uma loja B2C, sem IVA para uma loja que mostra preços sem imposto.
  • Resumo dos packs na fatura PDF: bloco acrescentado no fim da fatura, o único ponto que o PrestaShop expõe.
  • Resumo dos packs na confirmação e no histórico de encomendas.
  • Seletor de combinações na página do pack: como a ficha de produto (um seletor por atributo: lista, amostras de cor ou botões, conforme o tipo de cada grupo de atributos), uma lista com todas as combinações, ou miniaturas de imagem clicáveis. Em todos os modos, escolher uma combinação muda a foto do produto para a imagem associada, e se a variante predefinida de um componente de escolha livre estiver esgotada, a página abre numa combinação com stock.
  • Amostras dos atributos de cor: para os grupos de atributos do tipo «Cor ou textura», no seletor como na ficha de produto. Automático (por predefinição) mostra a imagem de uma combinação dessa cor quando a cor não tem código de cor nem textura. Cor ou textura mantém a apresentação nativa do PrestaShop. Imagem da combinação mostra sempre a foto da combinação, mesmo que exista um código de cor.
  • Stock de cada produto do pack: não mostrar, disponibilidade, ou disponibilidade e prazo de entrega. Por baixo de cada produto aparece o estado da combinação escolhida com as mesmas etiquetas das suas fichas de produto: etiqueta de disponibilidade da combinação, senão do produto, senão a das definições de produtos, «Últimas unidades em stock» abaixo do limite definido nas definições de produtos, e nota de prazo de entrega do produto. O limite tem em conta a quantidade do produto no pack. Um ponto colorido indica o estado: verde em stock, laranja últimas unidades, azul encomendável sem stock, vermelho indisponível. A apresentação acompanha cada mudança de combinação.
  • Apresentação da página do pack: página de pack dedicada, ou ficha de produto da loja. Ver a secção «Mostrar o pack como uma ficha de produto».
  • Pack no carrinho: uma linha por produto, ou uma só linha para o pack. Ver a secção «Uma só linha para o pack no carrinho».

Criar um pack

Abra Catálogo e depois Packs e Bundles (DF), e clique em Novo pack.

Informações do pack

  • Nome: campo traduzido, apresentado no bloco da ficha de produto, na página do pack e na etiqueta do carrinho.
  • Alias de URL: gerado automaticamente a partir do nome se o deixar vazio. Compõe o endereço da página do pack.
  • Resumo e descrição: textos formatados e traduzidos, apresentados por cima e por baixo dos produtos do pack.
  • Etiqueta: texto curto e traduzido, apresentado nos cartões do bloco de venda cruzada. Deixe vazio para mostrar a percentagem de poupança.
  • Modo de preço: os quatro modos descritos mais abaixo. O formulário oculta os campos desnecessários conforme o modo escolhido.
  • Herdar as promoções existentes: ativo, os descontos de catálogo em curso servem de preço de partida para o cálculo do pack.
  • Datas de validade: deixe vazio para um pack permanente. Fora do período, o pack desaparece do front-office.
  • Ativo: equivalente ao botão de ativação da lista.

O alias de URL entra no endereço da página do pack. Escreva-o sem acentos e sem cedilha, como é convenção no PrestaShop: colecao-inverno e não coleção-inverno. O nome apresentado ao cliente, esse, leva a acentuação normal.

Componentes

O painel Componentes gere o conteúdo do pack.

  • Pesquisa de produto: escreva pelo menos dois caracteres. A pesquisa incide sobre o nome, a referência e o ID. Clique num resultado para o acrescentar.
  • Combinação: num produto com combinações, o seletor lista as variantes com o respetivo preço. A variante escolhida passa a ser a predefinida.
  • Escolha da combinação pelo cliente: ativa, o cliente seleciona a variante na página do pack e no bloco da ficha de produto. Inativa, a variante é imposta.
  • Quantidade: número de unidades do componente no pack. Um pack pode conter um só produto em quantidade, para uma venda por lote.
  • Quantidade alterável: o cliente pode ajustar a quantidade deste componente na página do pack.
  • Opcional: o cliente pode desmarcar este componente, e o preço é recalculado.
  • Desconto por produto: em percentagem ou em montante, visível apenas no modo de desconto por produto. Um desconto de 100 % torna o componente oferecido.
  • Ordem: setas para cima e para baixo, para ordenar a apresentação.

O simulador de preço por baixo da tabela recalcula em direto o preço total, o preço do pack e a poupança a cada alteração.

O botão Duplicar da lista copia um pack completo com os seus componentes, o que é prático para repetir a mesma mecânica em várias gamas.

O editor de pack

O formulário está organizado em sete passos: informações (nome, referência, selo, visibilidade, URL amigável, período de validade), produtos, preço, imagens, descrição, catálogo e SEO. O seletor de idioma no topo dos passos traduzidos muda todos os campos traduzidos. À direita, o resumo atualiza-se a cada alteração: preço dos produtos comprados em separado, desconto, preço do pack com e sem IVA, e discriminação do IVA por taxa tal como aparecerá na fatura.

As imagens adicionam-se arrastando e largando ou com um clique. Arraste as miniaturas para mudar a ordem: a primeira torna-se a capa. A árvore de categorias do passo 6 decide onde o pack aparece no catálogo, e a primeira categoria marcada torna-se a sua categoria predefinida.

Imagens dos produtos

Um novo pack guardado sem imagem recebe automaticamente a imagem de cada um dos seus produtos: a da combinação predefinida, senão a imagem de capa do produto. Num pack existente, marque «Adicionar à galeria as imagens dos produtos do pack ao guardar» no passo 4. Pode depois reordenar essas imagens, eliminar algumas ou adicionar um visual do lote completo.

Resumo e descrição

O passo 5 contém dois campos traduzidos. O resumo do pack aparece por cima dos produtos, como o resumo de uma ficha de produto, e torna-se o resumo do produto montra. A descrição aparece por baixo dos produtos, para a apresentação completa. Cada produto do pack tem ligação para a sua própria ficha, por isso não é necessário repetir aí os seus detalhes.

Desconto por grupo de clientes

No passo 3, o bloco «Desconto por grupo de clientes» acrescenta um desconto em percentagem sobre o preço do pack para os clientes de um grupo. O grupo considerado é o grupo predefinido do cliente, como nos preços específicos nativos. Deixe o campo vazio para não acrescentar desconto. O desconto aplica-se na página do pack, no carrinho e na encomenda, e cada grupo vê o seu preço nas listagens graças a um preço específico de grupo criado no produto montra.

Os preços de grupo dos próprios produtos (preços específicos por grupo, redução de grupo) já se aplicam quando «Partir dos preços com desconto» está em Sim: o preço do pack parte então do preço do cliente com sessão iniciada. O desconto de grupo do pack soma-se a este.

SEO

O passo 7 reúne o meta título, a meta descrição e as palavras-chave, por idioma. Se ficarem vazios, o meta título usa o nome do pack e a meta descrição o início do resumo. Uma pré-visualização mostra como o pack aparece nos resultados de pesquisa, com um contador de caracteres: cerca de 60 para o título, 160 para a descrição. As palavras-chave, separadas por vírgulas, tornam-se as tags do produto montra, usadas pela pesquisa da loja.

Estes campos são copiados para o produto montra: aplicam-se quer o pack apareça na sua própria página, quer como uma ficha de produto. O URL amigável configura-se no passo 1.

Os quatro modos de preço

Sem desconto

O pack vende os componentes ao preço corrente. É útil num pack de pura comodidade, ou para destacar apenas a composição.

Desconto global em percentagem

A percentagem aplica-se ao preço de cada componente. Um pack a -15 % desconta 15 % em cada linha.

Desconto por produto

Cada componente tem o seu próprio desconto, em percentagem ou em montante. É o modo das ofertas do tipo máquina mais consumível oferecido: a máquina a 0 % e o consumível a 100 %.

Preço fixo

Anuncia o preço do pack, com IVA e na moeda predefinida. A diferença entre a soma dos preços correntes e o preço anunciado é repartida proporcionalmente por cada linha, sem IVA. Cada produto conserva a sua taxa de IVA.

Exemplo: um pack a 49 € composto por um produto A a 40 € com IVA e um produto B a 30 € com IVA. A soma corrente é 70 € e o desconto 21 €. O A suporta 12 € de desconto e o B 9 €, proporcionalmente ao seu peso no total. A fatura fica exata mesmo que o A esteja a 23 % de IVA e o B a 6 %.

É esta repartição que torna o modo de preço fixo utilizável num cabaz misto português, que junta com frequência artigos a 23 %, 13 % e 6 %. Confirme o resultado num pack de teste e valide-o com o seu contabilista certificado, porque é a repartição enviada ao seu software de faturação certificado pela AT que conta para o imposto, não o PDF do PrestaShop.

O bloco nas fichas de produto

Cada produto que pertence a um pack mostra um bloco «Este produto também está disponível em pack». Cada cartão apresenta as miniaturas dos componentes, o nome do pack, o preço total riscado, o preço do pack, a etiqueta de poupança e o estado de stock.

  • Ver o pack abre a página do pack.
  • Adicionar acrescenta o pack diretamente ao carrinho, na sua configuração predefinida. O botão passa a Configurar quando o pack tem escolhas a fazer: combinação livre, componente opcional ou quantidade alterável.

A posição do bloco, o número de cartões e a sua ordenação definem-se na configuração do módulo.

O preço total riscado ao lado do preço do pack é uma comparação de preços. O Decreto-Lei n.º 66/2021 obriga a que qualquer anúncio de redução indique o preço mais baixo praticado nos 30 dias anteriores, e o Decreto-Lei n.º 57/2008 proíbe comparar com um preço que nunca praticou. Certifique-se de que os preços correntes dos componentes são mesmo os que pratica, sobretudo se acabou de os subir.

A página do pack

Cada pack tem a sua página no endereço /pack/12-o-meu-alias, com o identificador do pack e o alias do idioma em curso. A página lista os componentes com os seus seletores de combinação, as caixas dos produtos opcionais e os campos de quantidade, quando estão abertos.

Cada alteração recalcula em Ajax o preço total, o preço do pack, a poupança e a disponibilidade, sem recarregar a página. O botão de adicionar envia a seleção atual para o carrinho.

A disponibilidade é calculada a partir dos stocks reais: o pack é vendável se cada componente obrigatório estiver disponível na quantidade pedida, tendo em conta as autorizações de encomenda sem stock de cada produto.

O carrinho

Ao acrescentar um pack, cada componente passa a ser uma linha real do carrinho, faturada ao seu preço de pack através de um preço específico limitado a esse carrinho. Não é criado qualquer produto fantasma.

Etiqueta de pack

Cada linha que pertence a um pack mostra uma etiqueta com o nome do pack, uma ligação para a sua página e um botão Retirar o pack inteiro. A remoção elimina todas as linhas do pack e os respetivos descontos numa só ação.

Quantidades adicionais

O preço do pack só cobre as quantidades do pack. Se o cliente aumentar a quantidade de uma linha, o módulo aplica um preço unitário médio ponderado: a quantidade do pack ao preço do pack e o excedente ao preço normal.

Exemplo: pack de 2 unidades a 8 €, com um preço normal de 10 €. O cliente passa a linha para 5 unidades. O preço unitário passa a (2 x 8 + 3 x 10) / 5 = 9,20 €, ou seja, um total de 46 €. O desconto continua limitado às 2 unidades do pack.

Modo estrito

Ativo, a eliminação de um componente retira todo o pack e o seu desconto. Isso impede conservar o desconto devolvendo parte do lote. Inativo, a remoção é aceite e o desconto mantém-se nas linhas restantes.

Um mesmo produto pode pertencer a vários packs no mesmo carrinho. Cada pack é acompanhado separadamente e o preço médio tem em conta o conjunto.

Atenção ao modo estrito na devolução. Um consumidor que exerça o direito de livre resolução do Decreto-Lei n.º 24/2014 pode devolver apenas parte da encomenda: nesse caso, o reembolso não é simplesmente o preço de pack da linha devolvida, porque o resto do pack deixou de reunir as condições da vantagem. Defina antecipadamente a sua regra de reembolso e explique-a nas condições de venda, para não ter de a improvisar em cada devolução.

Encomendas e contabilidade

Cada produto do pack chega na sua própria linha de encomenda, ao seu preço de pack. Faturas, guias de remessa, notas de crédito e devoluções parciais funcionam nativamente, artigo a artigo. As suas exportações contabilísticas e o ERP veem apenas referências reais do seu catálogo.

A fatura mostra o preço sem pack (promoções de catálogo incluídas) e o preço unitário de pack por linha, mais um bloco Detalhe dos packs no fim da fatura: total sem pack, desconto em valor e percentagem, total do pack. O mesmo resumo aparece na página de confirmação e no histórico de encomendas do cliente. O detalhe de cada encomenda no back-office mostra um resumo dos packs encomendados. A lista de packs mostra um contador de vendas por pack.

Cada pack gera um produto montra sincronizado automaticamente: um produto real do catálogo, sem regra de imposto, que tem a referência do pack (ou DFPACK seguida do identificador do pack quando a referência está vazia). Encontra-o em Catálogo e depois Produtos escrevendo essa referência. Aparece nas listagens de categorias, na pesquisa nativa, nos filtros por facetas e no sitemap, com a galeria do pack, o total riscado e o selo de promoção nativos. O stock apresentado segue a disponibilidade calculada do pack.

Conforme a definição «Apresentação da página do pack», a ficha da montra redireciona com um 301 para a página do pack, ou mostra ela própria o pack como uma ficha de produto. Conforme a definição «Pack no carrinho», uma linha de carrinho que a referencie é convertida em linhas de produtos, cada uma com a sua própria taxa de IVA, ou torna-se uma só linha de pack com o seu conteúdo. É ressincronizada a cada gravação do pack, a cada alteração ou movimento de stock de um produto componente e após cada encomenda.

Transportadoras e peso

O peso do produto montra é calculado a partir dos produtos do pack, combinações incluídas, a cada sincronização. As transportadoras, as características e as outras definições de envio configuram-se na sua ficha nativa, separador Envio: a ligação «Produto montra (características, envio…)» do resumo do editor leva diretamente até lá, e a sincronização não altera essas definições.

Com «Pack no carrinho» em «Uma linha para o pack», aplicam-se as transportadoras e o peso do produto montra. Com «Uma linha por produto», cada artigo mantém as suas próprias transportadoras e o seu próprio peso.

O nome, os preços, a referência, as imagens, as categorias, o resumo, a descrição e os campos SEO do produto montra gerem-se a partir do formulário do pack: a próxima sincronização substituiria uma alteração feita diretamente na montra.

Importar os packs nativos do PrestaShop

O botão Import PrestaShop packs da lista de packs converte os seus packs nativos: componentes com combinações e quantidades, categorias, imagens e preço incluídos (modo de preço fixo). O produto pack nativo é desativado após a importação para não competir com a montra; reative-o no catálogo se necessário. A referência PSPACK conserva a origem: relançar a importação nunca importa duas vezes o mesmo pack. Os packs aninhados noutros packs são ignorados.

Mostrar o pack como uma ficha de produto

Com a definição «Apresentação da página do pack» em «Ficha de produto da loja», o pack aparece na ficha do seu produto montra, construída pelo seu tema como qualquer outro produto: galeria, caminho de navegação, preço, quantidade, botão de adicionar ao carrinho, separadores, opiniões. O bloco «Este pack contém» fica por cima da quantidade, com os produtos, os seletores de combinações, os produtos opcionais e a poupança.

Quando o cliente muda uma combinação, o preço, o preço riscado e a percentagem de desconto do tema atualizam-se. O botão de adicionar ao carrinho do tema adiciona o pack com a seleção do cliente, e o campo quantidade define o número de packs. As ligações para o pack (bloco de venda cruzada, página /packs, selo do carrinho) apontam para esta ficha, e os antigos endereços /pack/ redirecionam para ela com um 301.

A pré-visualização rápida das listagens continua a ser uma janela de produto simples: adicionar a partir dela adiciona o pack na configuração predefinida.

Uma só linha para o pack no carrinho

Com a definição «Pack no carrinho» em «Uma linha para o pack», o pack entra no carrinho como uma só linha, com o nome do pack e o conteúdo listado por baixo: «1 x T-shirt (Tamanho: S, Cor: Branco)». Duas seleções diferentes dão duas linhas, e o mesmo pack adicionado duas vezes com a mesma seleção aumenta a quantidade da linha.

O preço da linha é a soma dos preços dos produtos, calculada com a taxa de IVA de cada um: os totais sem IVA, com IVA e de IVA do carrinho e da encomenda são exatos. Na fatura, a linha do pack mostra o preço base e o desconto, e o IVA é discriminado por taxa. O conteúdo do pack aparece também no checkout, no detalhe da encomenda, nos emails e na fatura, e o cartão «Packs desta encomenda» do back-office indica os produtos e combinações a preparar.

O stock de cada produto é abatido na encomenda, devolvido se a encomenda passar a «Cancelada» ou «Erro de pagamento», e abatido de novo se for reativada.

As devoluções parciais com reposição de stock só devolvem o produto montra. As suas exportações contabilísticas veem uma referência DFPACK com várias taxas de IVA na mesma linha: se o seu contabilista certificado exigir uma linha por taxa, mantenha o modo «Uma linha por produto».

Multiloja e multi-idioma

Cada pack fica associado às lojas do contexto em que foi criado e pode ser gerido loja a loja. Os campos de nome, alias de URL, resumo, descrição, etiqueta, meta título, meta descrição e palavras-chave são traduzidos nos idiomas instalados. O front-office segue o idioma do cliente, incluindo no alias da página do pack.

Adaptar a apresentação ao seu tema

Há três templates que pode substituir. Copie-os de /modules/dfpackpro/views/templates/ para /themes/o-seu-tema/modules/dfpackpro/views/templates/, mantendo as subpastas.

  • hook/product_packs.tpl: o bloco de venda cruzada das fichas de produto
  • front/pack.tpl: a página do pack
  • hook/cart_line_badge.tpl: a etiqueta de pack no carrinho

O CSS está isolado sob o prefixo dfpackpro e a cor de destaque é definida pela variável CSS --dfpackpro-accent. Para um ajuste pontual, aponte às classes a partir da folha de estilos do seu tema, em vez de alterar o views/css/front.css, que seria substituído na atualização.

Resolução de problemas

O bloco não aparece na ficha de produto

  1. Confirme que o pack está ativo e que a data atual está dentro do período de validade.
  2. Confirme que o produto consultado faz mesmo parte dos componentes do pack.
  3. Verifique a definição do bloco de packs ativo e a posição escolhida na configuração.
  4. Limpe a cache do Smarty e a cache do seu servidor.

O pack aparece como indisponível

A disponibilidade é o mínimo dos stocks dos componentes obrigatórios, divididos pela quantidade que têm no pack. Basta um componente esgotado sem autorização de encomenda sem stock para tornar o pack indisponível. Os componentes opcionais desmarcados não contam.

A etiqueta do carrinho aparece no sítio errado

A etiqueta é apresentada na coluna de ações pelo tema e depois deslocada por JavaScript para o bloco de informações do produto. Num tema muito personalizado, sem os contentores padrão, a etiqueta fica na posição de origem. Substitua o cart_line_badge.tpl para a integrar na sua estrutura.

O preço de pack aplica-se a demasiadas unidades

Este caso está coberto pelo preço médio ponderado: verifique o preço unitário apresentado na linha, que deve ficar entre o preço do pack e o preço normal assim que a quantidade ultrapassa a do pack. Se não for o caso, limpe a cache e altere a quantidade para forçar um novo cálculo.

A página do pack devolve uma 404

Confirme que o pack está ativo e dentro do período de validade. Depois de mudar o alias, o endereço antigo redireciona com 301 para o novo enquanto o identificador do pack estiver correto.

O produto montra aparece em várias cópias

Antes da versão 2.7.2, um passo de sincronização com falha podia criar uma nova montra sempre que o pack era guardado. Atualize o módulo e guarde o pack uma vez: o módulo mantém a montra ligada ao pack e elimina as cópias.

Se aparecer o erro «Table ps_product_attribute_combination doesn’t exist», a base de dados está incompleta, muitas vezes depois da cópia de uma base de produção para uma pré-produção. Esta tabela nativa do PrestaShop liga cada combinação aos seus atributos. Volte a importá-la a partir da base de origem e não a recrie vazia: as ligações entre combinações e atributos perder-se-iam.

Erro «Unknown column» depois de uma atualização

Os ficheiros do módulo foram substituídos sem executar a sua atualização. Desde a versão 2.7.1, basta abrir Catálogo e depois Packs e Bundles (DF) ou a configuração do módulo: a base de dados é completada automaticamente. Também pode clicar em Atualizar no gestor de módulos.

Desinstalação

A desinstalação elimina as oito tabelas do módulo, as suas chaves de configuração e o separador do menu Catálogo. As encomendas feitas conservam as suas linhas e os seus preços, pelo que o seu histórico contabilístico não é alterado.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte