Tudo o que quer saber antes de instalar.
Uma análise detalhada de como o Preço Mais Baixo 30 Dias Shopware 6: Conformidade com a Diretiva Omnibus (Preço Riscado UE) funciona, porque o construímos assim e o raciocínio por trás das funcionalidades acima.
O que a diretiva Omnibus exige realmente
Desde a entrada em vigor da diretiva 2019/2161, qualquer anúncio de redução de preço dirigido a um consumidor da União Europeia deve indicar o preço mais baixo praticado durante os 30 dias anteriores à aplicação dessa redução. Em Portugal, a transposição foi feita pelo Decreto-Lei n.º 109-G/2021. A obrigação aplica-se às páginas de produto, às páginas de categoria, aos banners e às campanhas promocionais, sem qualquer limiar de volume de negócios. As autoridades nacionais, como a ASAE e a Direção-Geral do Consumidor, sancionam as indicações incorretas, e o montante das coimas está indexado ao volume de negócios.
Porque é que um mínimo deslizante não é conforme
A maioria das soluções regista um histórico de preços e apresenta o mínimo dos últimos 30 dias contados a partir de hoje. A lei exige outra coisa: a janela para no momento em que o desconto começa. Um mínimo deslizante integra progressivamente o próprio preço promocional na janela, fazendo com que a referência apresentada desça dia após dia e produzindo uma indicação que já não corresponde a nada. Esta extensão ancora a janela no início do desconto e mantém-na estável durante toda a duração da promoção.
Descontos que se sucedem, o caso que toda a gente falha
Um desconto de regresso às aulas seguido de uma promoção de outono e depois da Black Friday forma uma série de descontos. A referência a apresentar continua a ser o preço praticado antes da primeira promoção da série, caso contrário cada novo desconto compara-se com o anterior e a redução anunciada torna-se artificial. O motor deteta as séries, congela o preço de referência e mostra na administração a data de congelamento e o motivo aplicado, com um limite de série configurável fixado em 60 dias por predefinição.
Registo automático, integrado no ciclo de vida do Shopware
Dois mecanismos funcionam em paralelo. Uma Scheduled Task diária registada no planeador do Shopware percorre o catálogo e regista o estado dos preços, com recuperação automática se a última execução tiver mais de 24 horas. Em paralelo, Subscribers reagem aos eventos product.written e promotion.written para captar cada alteração real de preço: edição de produto, importação de catálogo, início e fim de promoções agendadas. Os duplicados são filtrados, uma linha de histórico corresponde a uma verdadeira alteração de preço.
Um painel de defesa, porque a conformidade tem de ser provada
Apresentar a indicação correta não chega se não conseguir demonstrar o que os seus visitantes viram. Cada apresentação é registada, agregada por dia, por produto e por preço de referência. O painel de defesa na administração Shopware dá o estado de conformidade produto a produto, e as exportações CSV com data e hora são geradas em streaming, sem saturar a memória, mesmo com um catálogo extenso. Fica com um dossiê datado, pronto a entregar em caso de fiscalização ou de reclamação.
Planeador de congelamento para os seus picos comerciais
Um aumento de preço demasiado próximo de uma operação comercial mina a referência: o preço medido durante os 30 dias anteriores mantém-se baixo e o desconto anunciado perde atratividade. O planeador calcula, para cada evento, a data-limite a partir da qual uma alteração de preço se torna contraproducente, cerca de um mês antes do início da promoção. Prepara assim a Black Friday, os saldos e as suas operações sazonais com um calendário de preços coerente.
Integração nativa no Shopware: Sales Channels, Rule Builder, Snippets
O histórico está separado por Sales Channel: cada canal conserva as suas próprias medições de preço, o que garante a coerência em instalações multiloja. As condições de apresentação da indicação assentam no Rule Builder do Shopware, o que lhe permite limitar a menção aos países da UE, a certos grupos de clientes ou a Sales Channels específicos sem escrever código. Os textos apresentados passam pelo sistema nativo de snippets do Shopware, o que os torna diretamente personalizáveis e traduzíveis na administração.
Leve no front, económico na base de dados
O cálculo do preço de referência é colocado em cache, a leitura assenta em índices compostos e nunca escreve durante a apresentação. O gráfico de histórico a 30 dias é desenhado por um canvas em JavaScript vanilla de cerca de 3 KB, sem biblioteca externa, sem CDN e sem cookies de terceiros. A linha de indicação é inserida abaixo do preço através dos blocos CMS do Shopware, e os produtos com variantes recalculam a sua referência ao mudar de seleção.
Instalação, primeiros dias e retoma dos dados existentes
A instalação demora alguns minutos: carrega o ZIP em Extensões, a extensão cria as suas tabelas, agenda a Scheduled Task e inicia o histórico com o estado atual do catálogo. Enquanto o histórico não cobrir a janela exigida não é apresentada qualquer indicação, e uma menção específica assinala os produtos colocados à venda recentemente. Instale antes das suas promoções em vez de o fazer no próprio dia. Se já existir um histórico de preços noutra extensão, a importação deteta-o pela estrutura das tabelas e retoma os dados sem criar duplicados.
Código auditável e licença clara
O código é entregue não cifrado, com um namespace Symfony limpo, a injeção de dependências padrão do Shopware e nenhuma dependência de produção a instalar. As ações de administração estão protegidas pelas ACL e pelos tokens CSRF do Shopware, as consultas são preparadas através do Doctrine DBAL, e nenhum segredo é escrito em código. A licença cobre uma loja em produção e inclui 12 meses de atualizações. Na desinstalação, as definições são eliminadas mas o histórico de preços é conservado por predefinição, porque constitui a sua prova legal, com uma opção de limpeza explícita se quiser apagar tudo.
Ainda não existem avaliações.