PrestaShop Marketing & Promoções ★ 5.0 · 1 avaliação

Presente Oferecido Acima de um Valor Mínimo de Carrinho: PrestaShop 8 e 9

Presente oferecido ao atingir o valor mínimo do carrinho: limpo, mensurável, sem manipular preços.

«Falta 12 € para receber o seu presente»: na página do carrinho, uma barra de progresso indica exatamente quanto falta para desbloquear a oferta. Ao atingir o valor, o produto oferecido é acrescentado automaticamente ao carrinho a preço zero. Se o visitante retirar um artigo e o carrinho descer abaixo do limiar, o presente é retirado de imediato. O módulo assenta no mecanismo nativo CartRule do PrestaShop (campo gift_product): sem cálculos de preço improvisados, com compatibilidade total com as suas promoções, códigos promocionais, impostos e multimoeda.

PrestaShop 8.0 → 9.x PHP 8.1+ CartRule nativa Adição e remoção automáticas Barra de progresso Multiloja
  • Reembolso em 30 dias
  • 12 meses de atualizações
  • Suporte em 24h
www.datafirefly.com/pt/
Presente oferecido acima de um valor mínimo de encomenda no PrestaShop
v1.0.0 · atualizado 2026-05-15
O que faz

A versão curta.

01

Adição e remoção automáticas ao atingir o valor

A cada gravação do carrinho (hook actionCartSave), o módulo recalcula o total conforme a sua configuração (com ou sem IVA, com ou sem portes) e liga ou desliga a regra do presente. O visitante não tem nada para assinalar nem validar: o presente aparece ou desaparece sozinho. A passagem ao valor atingido desencadeia também uma animação no bloco de progresso.

02

Bloco de progresso visível na página do carrinho

Apresentação automática de uma faixa com a imagem do produto oferecido, mensagem dinâmica («Falta 12,40 € para receber o seu presente» ou «Presente acrescentado ao carrinho!») e barra de progresso colorida. A mensagem passa do cinzento-laranja (em espera) ao verde (objetivo atingido). Responsiva, com acessibilidade ARIA, e compatível com todos os temas que usam o hook padrão displayShoppingCart.

03

Mecanismo nativo do PrestaShop, sem manipular preços

O módulo cria e mantém uma CartRule fantasma (código DFFREEGIFT_xxxxxxxx) com gift_product configurado. Quando a regra está ligada a um carrinho, é o próprio PrestaShop que insere a linha do presente (gift = 1, preço = 0), exatamente como numa regra promocional criada à mão no back-office. Consequência direta: compatibilidade nativa com as outras promoções, os códigos promocionais, os impostos, a multimoeda, a multiloja, o checkout e a conversão em encomenda. O registo histórico das encomendas passadas também se mantém intacto.

04

Configuração detalhada: valor, imposto, portes, stock, grupos de clientes

Tudo é configurável em Módulos → Configurar: ID do produto oferecido e combinação específica, montante do limiar com cálculo com ou sem IVA, inclusão ou exclusão dos portes, verificação do stock (a adição automática é suspensa em rutura), restrição aos grupos de clientes à sua escolha e ativação independente da mensagem e da barra de progresso. Tudo multilingue no front-office.

A versão longa

Tudo o que quer saber antes de instalar.

Uma análise detalhada de como o Presente Oferecido Acima de um Valor Mínimo de Carrinho: PrestaShop 8 e 9 funciona, porque o construímos assim e o raciocínio por trás das funcionalidades acima.

§ 01

A alavanca mais mensurável sobre o valor médio do carrinho

Numa loja online, duas variáveis fazem a faturação: o número de encomendas e o valor médio do carrinho. O custo de aquisição de uma nova encomenda tornou-se muito elevado (publicidade, SEO, retargeting). Pelo contrário, fazer subir o carrinho de um visitante que já está prestes a comprar quase nada custa: é um upsell sobre tráfego já pago. O presente por valor mínimo é uma das mecânicas mais eficazes para isso: o visitante acrescenta voluntariamente alguns euros para não perder a oferta. Desde que a mecânica seja visível, quantificada e instantânea. É exatamente o que o dffreegift faz.

§ 02

O bloco de progresso: a mecânica psicológica ao cêntimo

Na página do carrinho, o módulo mostra permanentemente uma faixa dedicada com a imagem do produto oferecido, o nome e uma mensagem que quantifica ao cêntimo a distância que falta: «Falta 12,40 € para receber o seu presente». Uma barra de progresso colorida passa gradualmente do cinzento-laranja ao verde à medida que o limiar se aproxima. Ao ser atingido, a faixa passa a verde com a mensagem «Presente acrescentado ao carrinho!» e uma animação de pulsação confirma visualmente o sucesso. Esta dramaturgia em tempo real é o que transforma uma simples promoção condicional numa alavanca de comportamento: o visitante vê a barra encher, calcula mentalmente o esforço a fazer e decide.

§ 03

Por dentro: o mecanismo nativo do PrestaShop, feito como deve ser

A grande maioria dos módulos de presente do mercado manipula diretamente os preços dos produtos através do hook actionProductPriceCalculation, cria linhas de carrinho com preço forçado a zero ou injeta SpecificPrice temporários. Essa abordagem acaba por quebrar a compatibilidade com outros módulos de promoção, gera incoerências nas exportações contabilísticas e complica a depuração. O dffreegift faz o contrário: na instalação, cria uma CartRule clássica (visível em Catálogo → Descontos → Regras de carrinho) com um código DFFREEGIFT_xxxxxxxx e um gift_product inicializado a zero. A cada gravação do carrinho, o módulo sincroniza gift_product e gift_product_attribute com a sua configuração e liga ou desliga a regra ao carrinho através dos métodos nativos Cart::addCartRule e Cart::removeCartRule. O PrestaShop trata depois de tudo: inserção da linha do presente (gift = 1, price = 0), apresentação no carrinho, totais, conversão em encomenda e registo histórico. Sem chamadas diretas aos preços, sem injeções invasivas, daí a compatibilidade nativa com os seus outros mecanismos promocionais.

§ 04

Três gatilhos de sincronização, mais uma autorreparação

A lógica principal corre no hook actionCartSave, chamado pelo PrestaShop a cada gravação do carrinho, ou seja, em cada adição, alteração ou remoção de produto, mas também no início de sessão do cliente (fusão de carrinhos) e em certas ações do back-office. Um flag estático antirrecursão impede que a alteração do carrinho pelo módulo volte a disparar o hook em ciclo. Em paralelo, o hook actionObjectCartRuleDeleteBefore vigia a eliminação manual da nossa CartRule no back-office: se um administrador apagar a regra por engano, a configuração é reposta e a próxima sincronização recria uma regra limpa. Por fim, a cada gravação da configuração no ecrã Configurar, o módulo volta a sincronizar gift_product e gift_product_attribute na regra existente: nunca precisa de mexer manualmente na regra na zona de Descontos.

§ 05

Configuração: valor, imposto, portes, stock, grupos

O ecrã Módulos → DataFirefly Free Gift → Configurar reúne tudo. Um interruptor principal para ativar ou desativar o conjunto. O ID do produto oferecido (introduzido à mão, com o nome apresentado como ajuda depois de gravar). Uma lista pendente com as combinações do produto (o preenchimento automático faz-se depois de gravar primeiro o ID do produto, altura em que o módulo relê as combinações disponíveis). O valor de desbloqueio, com dois interruptores associados: cálculo com IVA (caso contrário, sem IVA) e incluir os portes (caso contrário, apenas produtos). Um interruptor Verificar o stock do presente, que suspende a adição automática se o produto estiver em rutura (respeitando a estratégia de rutura configurada globalmente no PrestaShop). Uma grelha de caixas para restringir a oferta a certos grupos de clientes: se nenhuma for assinalada, todos os clientes são elegíveis, incluindo visitantes não identificados. Dois interruptores de apresentação independentes para a mensagem de progresso e para a barra.

§ 06

Casos de utilização típicos

Loja de cosmética com margem confortável: oferecer uma amostra de perfume acima de 40 € com IVA para empurrar os carrinhos de 28 a 35 € até aos 40 €. Moda e acessórios: bolsa oferecida a partir de 80 € com IVA, calculado sem portes, para fidelizar as primeiras compras. Equipamento B2B: porta-chaves ou pen USB acima de 200 € sem IVA, restrito ao grupo Profissionais. Marketplace alimentar: produto de prova gratuito a partir de 50 € com IVA e portes incluídos, para absorver o custo do envio gratuito e torná-lo rentável. Em todos estes casos a mecânica é a mesma: um limiar claro, um presente desejável, um progresso visível e uma adição automática. O dffreegift trata disso tudo sem intervenção manual.

§ 07

Compatibilidade PrestaShop 8 e 9, testada e não apenas prometida

O módulo usa apenas APIs estáveis nas duas versões: Module, Hook, Configuration, CartRule, Cart, HelperForm e Smarty. Não usa os separadores de produto em Symfony do PrestaShop 9 (que introduziram incompatibilidades em muitos módulos de terceiros), não injeta nada no checkout de página única e não depende de classes descontinuadas no PS 9. O ecrã de administração usa HelperForm, componente estável e idêntico no PS 8 e no PS 9. No front-office, o hook displayShoppingCart existe e funciona nas duas versões, e o helper getCurrentLocale (usado para formatar preços) está disponível desde o PrestaShop 1.7.6. Instala o módulo em PS 8 hoje e migra para PS 9 quando quiser, sem qualquer intervenção da sua parte no módulo.

§ 08

Multiloja, multilingue, código legível

O módulo funciona com a configuração multiloja do PrestaShop no contexto de loja predefinido. As mensagens do front-office são traduzíveis pelo mecanismo padrão do PrestaShop (Modules.Dffreegift.Shop para o front-office, Modules.Dffreegift.Admin para o back-office), com FR, EN, ES e DE já preenchidos. O código-fonte é entregue em claro (PHP não cifrado, conforme às convenções padrão do PrestaShop), com comentários em francês no início de cada método importante. A lógica principal cabe num ficheiro dffreegift.php com menos de 700 linhas, legível e auditável em menos de uma hora. Pode alterá-lo, estendê-lo com os seus próprios hooks ou fazer um fork para uma necessidade específica.