PS PrestaShop Iniciante

DataFirefly Order Vouchers: guia completo

Instalar e explorar a apresentação dos códigos promocionais usados e do montante do desconto na lista de encomendas do back-office, para PrestaShop 8 e 9.

Atualizado Versão do módulo 1.0.0

Apresentação e pré-requisitos

O DataFirefly Order Vouchers acrescenta duas colunas à lista de encomendas do back-office: o ou os códigos promocionais usados em cada encomenda, e o montante total do desconto (formatado na moeda da encomenda). O módulo não cria nenhuma tabela, não escreve nada na base de dados e não sobrepõe nenhum controlador: limita-se a ler os vales de desconto já registados nas suas encomendas e a apresentá-los na grelha.

  • Compatível com PrestaShop 8.0 a 9.x.
  • PHP 7.4 a 8.3.
  • Multiloja e multilingue (FR/EN/ES/DE/IT).
  • Nenhuma substituição de ficheiros: apenas os hooks nativos da grelha Symfony das encomendas.

Os dados provêm das tabelas order_cart_rule e cart_rule. Uma encomenda sem vale de desconto mostra simplesmente uma célula vazia nas duas colunas.

Adaptação para Portugal: as etiquetas das duas colunas são entregues em FR/EN/ES/DE/IT. Traduza-as em Internacional → Traduções (módulo dfordervouchers) para que os colaboradores com o back-office em português as vejam no seu idioma.

Instalação

  1. Transfira o arquivo dfordervouchers.zip a partir da sua conta de cliente.
  2. No back-office, aceda a Módulos > Gestor de módulos.
  3. Clique em Instalar um módulo e envie o arquivo.
  4. A instalação regista os dois hooks da grelha de encomendas. Não é necessária nenhuma configuração.

Logo após a instalação, abra Encomendas > Encomendas: as duas novas colunas aparecem a seguir à coluna «Total».

O módulo não tem página de configuração: funciona imediatamente após a instalação, sem qualquer definição.

As duas colunas acrescentadas

Código(s) promocional(is)

Esta coluna mostra o código de cada vale de desconto realmente aplicado à encomenda. Quando uma encomenda acumula vários códigos, estes são agrupados, desduplicados e separados por vírgulas. As promoções automáticas (regras de carrinho sem código) não são apresentadas nesta coluna, uma vez que não têm código a mostrar.

Desconto

Esta coluna totaliza o montante descontado na encomenda, tal como foi registado no momento da validação (com IVA por defeito), e apresenta-o na moeda da encomenda. Uma encomenda em libras ou em dólares mostra portanto o seu montante na sua própria moeda. Se não tiver sido aplicado nenhum desconto, a célula fica vazia.

Funcionamento técnico

A partir do PrestaShop 1.7.7, a lista de encomendas assenta na grelha Symfony. O módulo liga-se a ela através de dois hooks oficiais:

  • actionOrderGridDefinitionModifier: acrescenta as duas colunas à definição da grelha, logo a seguir à coluna «Total».
  • actionOrderGridQueryBuilderModifier: enriquece a consulta da grelha com duas subconsultas correlacionadas sobre order_cart_rule e cart_rule.

Como as subconsultas estão correlacionadas com o identificador da encomenda, não produzem nenhuma duplicação de linhas e não entram em conflito com o agrupamento interno da grelha. O montante reutiliza a moeda já associada pelo núcleo na consulta da grelha.

O módulo é apenas de leitura: nunca escreve na base de dados e não modifica nenhuma encomenda. Pode ser instalado e desinstalado sem qualquer impacto nos seus dados.

Casos particulares

Vários códigos numa encomenda

Todos os códigos são apresentados, separados por vírgulas. O montante da coluna «Desconto» soma o conjunto dos vales aplicados à encomenda.

Promoções automáticas sem código

Por defeito, a coluna «Desconto» soma todos os descontos da encomenda, incluindo eventuais promoções automáticas sem código. A coluna «Código(s) promocional(is)», por seu lado, só mostra os vales que têm um código. Está disponível a pedido uma variante que limita o montante apenas aos vales com código.

Multimoeda

O montante é sempre apresentado na moeda da encomenda em causa, reutilizando a moeda associada pela grelha nativa.

Multiloja

A apresentação respeita o contexto de loja atual do back-office, exatamente como a grelha nativa das encomendas.

Ordenação e personalização

As etiquetas das duas colunas são traduzíveis através do sistema de tradução de módulos do PrestaShop, nos cinco idiomas. Como a ordenação nativa da grelha assenta numa lista branca de campos, um clique no cabeçalho destas colunas calculadas não aciona uma ordenação, mas também não provoca nenhum erro.

FAQ e resolução de problemas

As colunas não aparecem

Verifique que o módulo está instalado e ativo no Gestor de módulos, e recarregue depois a página Encomendas > Encomendas. As colunas aparecem a seguir à coluna «Total».

A coluna «Desconto» está vazia apesar de haver um código apresentado

Isso pode acontecer se o vale registado na encomenda tiver um valor nulo, por exemplo um vale de portes grátis. O código continua a ser apresentado, mas o montante descontado é igual a zero.

O módulo funciona no PrestaShop 8 e 9?

Sim. Baseia-se na grelha Symfony das encomendas presente nas duas versões, através dos hooks oficiais de definição e de query builder.

O que acontece na desinstalação?

A desinstalação remove simplesmente os dois hooks. Como não foi criada nenhuma tabela nem escrito nenhum dado, não fica nada na base de dados.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte