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.
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
- Transfira o arquivo
dfordervouchers.zipa partir da sua conta de cliente. - No back-office, aceda a Módulos > Gestor de módulos.
- Clique em Instalar um módulo e envie o arquivo.
- 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 sobreorder_cart_ruleecart_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.