# Lista de Nascimento, Casamento e Presentes: guia completo

> Apresentação e pré-requisitos O módulo Lista de Nascimento, Casamento e Presentes acrescenta à sua loja um sistema completo de listas de presentes partilhadas. Os seus clientes criam a sua lista…

- Página: <https://www.datafirefly.com/pt/documentation/dfgiftregistry/>
- Idioma: pt
- Atualizado em: 2026-09-03
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfgiftregistry/index.md), [en](https://www.datafirefly.com/en/documentation/dfgiftregistry/index.md), [es](https://www.datafirefly.com/es/documentation/dfgiftregistry/index.md), [de](https://www.datafirefly.com/de/documentation/dfgiftregistry/index.md), [it](https://www.datafirefly.com/it/documentation/dfgiftregistry/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfgiftregistry/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfgiftregistry/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## Apresentação e pré-requisitos

O módulo Lista de Nascimento, Casamento e Presentes acrescenta à sua loja um sistema completo de listas de presentes partilhadas. Os seus clientes criam a sua lista a partir da conta, acrescentam-lhe produtos do seu catálogo e partilham uma ligação pública. Os seus familiares e amigos reservam os presentes, que são adicionados ao carrinho e depois confirmados na validação da encomenda. O proprietário da lista é então notificado por e-mail.

- Compatível com PrestaShop 8.0 a 9.x.
- PHP 7.4 a 8.3, MySQL 5.7+ / MariaDB 10.3+.
- Multiloja e multilingue (FR/EN/ES/DE/IT).
- Arquitetura ObjectModel e controladores front legacy, sem dependência Symfony, sem override do núcleo.

O módulo cria três tabelas dedicadas (`df_giftregistry`, `df_giftregistry_item`, `df_giftregistry_reservation`) e não altera nenhum ficheiro do núcleo. A desinstalação elimina essas tabelas, o separador de administração e as definições.

As cadeias do front-office e os modelos de e-mail são fornecidos em francês e inglês (o pacote de traduções cobre FR/EN/ES/DE/IT). Numa loja em português, traduza as designações em Internacional > Traduções e acrescente uma pasta `mails/pt/`, sem esquecer os tipos de lista (« nascimento », « casamento », « aniversário », « inauguração de casa »).

## Instalação

1. Descarregue o arquivo `dfgiftregistry.zip` a partir da sua conta de cliente.
2. No back-office, vá a **Módulos > Gestor de módulos**.
3. Clique em **Instalar um módulo** e carregue o arquivo.
4. A instalação cria as tabelas, regista os hooks (`displayCustomerAccount`, `displayProductAdditionalInfo`, `actionFrontControllerSetMedia`, `actionValidateOrder`) e acrescenta o separador de administração em **Clientes**.

Depois de instalado, o módulo fica imediatamente ativo: o bloco da lista aparece na área de cliente e o botão de adição na ficha de produto.

## Definições do módulo

Clique em **Configurar** a partir do Gestor de módulos para aceder à página de definições:

- **Botão na ficha de produto**: mostra ou oculta o botão « Adicionar a uma lista de presentes » nas páginas de produto.
- **Oferta por convidados**: autoriza os visitantes não autenticados a oferecer um presente, indicando o seu nome e um e-mail facultativo.
- **Notificação do proprietário**: envia um e-mail ao proprietário a cada presente confirmado.
- **Revelação dos nomes**: mostra o nome do ofertante ao proprietário, salvo se o ofertante tiver escolhido manter-se anónimo.
- **Prazo de retenção** (`DFGR_HOLD_MINUTES`, 180 min por defeito): duração após a qual uma reserva pendente não finalizada é libertada automaticamente.
- **Número máximo de listas por cliente** (`DFGR_MAX_PER_CUSTOMER`, 5 por defeito).

## Do lado do cliente: criar e gerir uma lista

### Criar uma lista

A partir da sua conta, o cliente abre a rubrica das listas de presentes e cria uma nova lista. Escolhe um tipo (nascimento, casamento, aniversário, inauguração de casa, outro), introduz um título, e pode preencher uma data do evento, uma mensagem de boas-vindas, uma descrição e uma morada de entrega. A lista é pública por defeito, mas pode ser tornada privada.

### Adicionar produtos

Duas possibilidades:

- A partir da **ficha de produto**: o cliente seleciona uma das suas listas, escolhe a quantidade pretendida e clica em « Adicionar ». A declinação selecionada na ficha é tida em conta.
- A partir da **área de gestão** da lista: ajusta a quantidade pretendida e a prioridade de cada produto.

Se um produto já estiver presente na lista, a adição a partir da ficha de produto incrementa simplesmente a quantidade pretendida.

### Partilhar a lista

Cada lista dispõe de uma ligação pública única. Um botão « Copiar » coloca essa ligação na área de transferência, pronta a ser enviada aos convidados por e-mail ou mensagem.

### Acompanhar os presentes recebidos

Na área de gestão, o proprietário visualiza para cada produto uma barra de progresso reservado / restante, bem como a lista dos presentes recebidos, com o nome do ofertante consoante a definição de revelação dos nomes.

## Do lado do visitante: oferecer um presente

Ao abrir a ligação pública, um convidado descobre a lista: tipo, nome do proprietário, data do evento, mensagem de boas-vindas e grelha dos produtos. Cada produto mostra o seu progresso reservado / restante.

1. O visitante clica em **Oferecer este presente** sob o produto escolhido.
2. Indica a quantidade (limitada ao restante), uma pequena mensagem facultativa e, se não estiver autenticado, o seu nome e um e-mail facultativo.
3. Pode marcar « Manter-me anónimo » se a definição de revelação dos nomes estiver ativada.
4. Ao validar, o produto é reservado e adicionado ao seu carrinho; é redirecionado para o carrinho para finalizar a encomenda.

Se a oferta por convidados estiver desativada, só os clientes autenticados podem oferecer um presente.

## O ciclo de reserva

Uma reserva passa pelos seguintes estados:

- **Pendente**: criada assim que o visitante clica em « Oferecer este presente » e o produto é adicionado ao carrinho.
- **Confirmada**: na validação da encomenda (hook `actionValidateOrder`), a reserva ligada ao carrinho é confirmada e associada à encomenda.
- **Libertada**: uma reserva pendente não finalizada, ligada a um carrinho abandonado, é eliminada automaticamente depois do prazo de retenção.

O restante de um produto é igual à quantidade pretendida menos a soma das reservas pendentes e confirmadas. Quando um produto está inteiramente reservado, fica bloqueado e já não pode ser oferecido, o que evita duplicados.

## Do lado do comerciante: back-office

O separador **Listas de presentes** (em Clientes) lista todas as listas da loja: cliente, tipo, número de produtos, número de presentes, estado ativo/inativo e data de criação.

A vista detalhada de uma lista mostra:

- as informações da lista e do cliente;
- os produtos com quantidades pretendida, reservada e restante;
- as reservas com o ofertante, a quantidade, a mensagem, o estado e uma ligação direta para a encomenda associada.

As listas são criadas pelos clientes: a ação de criação não está disponível do lado do back-office. O comerciante pode consultar e eliminar.

## E-mails de notificação

Quando a notificação do proprietário está ativada, é enviado um e-mail ao proprietário da lista a cada presente confirmado. Retoma o título da lista, o produto oferecido, a quantidade, o nome do ofertante (consoante a definição de revelação e a escolha de anonimato) e a eventual mensagem. Os modelos de e-mail são fornecidos em francês e em inglês, e são personalizáveis.

## Multilingue e multiloja

As designações do módulo são traduzíveis através do sistema de tradução de módulos do PrestaShop. A apresentação respeita o contexto de loja atual: uma lista criada numa loja fica associada a essa loja.

## FAQ e resolução de problemas

### O botão « Adicionar a uma lista » não aparece na ficha de produto

Verifique que a opção **Botão na ficha de produto** está ativada nas definições, e que o hook `displayProductAdditionalInfo` está bem posicionado no seu tema.

### A página pública mostra « lista não encontrada »

A lista pode estar privada, inativa, ou associada a outra loja. Verifique o seu estado na área de cliente ou no back-office.

### Um produto fica bloqueado apesar de a encomenda não ter sido feita

Trata-se de uma reserva pendente. É libertada automaticamente depois do prazo de retenção definido nas definições. Pode reduzir esse prazo se necessário.

### O proprietário não recebe e-mail

Verifique que a notificação do proprietário está ativada e que o envio de e-mails está corretamente configurado em **Parâmetros avançados > E-mail**.

### O que acontece na desinstalação?

A desinstalação elimina as três tabelas do módulo, o separador de administração e as definições. Não subsiste nenhum dado residual.
