# Lista Prezentów: Narodziny, Ślub i Urodziny, kompletny przewodnik

> Wprowadzenie i wymagania Moduł Lista Prezentów: Narodziny, Ślub i Urodziny dodaje do sklepu kompletny system współdzielonych list prezentów. Klienci tworzą listę ze swojego konta, dodają do niej produkty z Twojego…

- Strona: <https://www.datafirefly.com/pl/documentation/dfgiftregistry/>
- Język: pl
- Zaktualizowano: 2026-07-31
- Inne języki: [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), [pt](https://www.datafirefly.com/pt/documentation/dfgiftregistry/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfgiftregistry/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Wprowadzenie i wymagania

Moduł Lista Prezentów: Narodziny, Ślub i Urodziny dodaje do sklepu kompletny system współdzielonych list prezentów. Klienci tworzą listę ze swojego konta, dodają do niej produkty z Twojego katalogu i udostępniają publiczny link. Bliscy rezerwują prezenty, które trafiają do koszyka i zostają potwierdzone po zatwierdzeniu zamówienia. Właściciel listy dostaje wtedy powiadomienie e-mail.

- Kompatybilny z PrestaShop 8.0 do 9.x.
- PHP 7.4 do 8.3, MySQL 5.7+ / MariaDB 10.3+.
- Multistore i wielojęzyczny (FR/EN/ES/DE/IT).
- Architektura ObjectModel i kontrolery front legacy, bez zależności od Symfony, bez zmian w rdzeniu.

Moduł tworzy trzy dedykowane tabele (`df_giftregistry`, `df_giftregistry_item`, `df_giftregistry_reservation`) i nie modyfikuje żadnego pliku rdzenia. Deinstalacja usuwa te tabele, zakładkę administracyjną i ustawienia.

## Instalacja

1. Pobierz archiwum `dfgiftregistry.zip` ze swojego konta klienta.
2. W back office przejdź do **Moduły > Menedżer modułów**.
3. Kliknij **Wgraj moduł** i wskaż archiwum.
4. Instalacja tworzy tabele, rejestruje hooki (`displayCustomerAccount`, `displayProductAdditionalInfo`, `actionFrontControllerSetMedia`, `actionValidateOrder`) i dodaje zakładkę administracyjną w sekcji **Klienci**.

Po instalacji moduł jest od razu aktywny: blok listy pojawia się w panelu klienta, a przycisk dodawania na karcie produktu.

## Ustawienia modułu

Kliknij **Konfiguruj** w Menedżerze modułów, aby otworzyć stronę ustawień:

- **Przycisk na karcie produktu**: pokazuje lub ukrywa przycisk „Dodaj do listy prezentów” na stronach produktów.
- **Prezenty od gości**: pozwala niezalogowanym odwiedzającym podarować prezent, podając imię i opcjonalny e-mail.
- **Powiadomienie właściciela**: wysyła e-mail do właściciela listy po każdym potwierdzonym prezencie.
- **Ujawnianie imion**: pokazuje właścicielowi imię darczyńcy, chyba że darczyńca wybrał anonimowość.
- **Czas retencji** (`DFGR_HOLD_MINUTES`, domyślnie 180 minut): czas, po którym niesfinalizowana rezerwacja oczekująca jest zwalniana automatycznie.
- **Maksymalna liczba list na klienta** (`DFGR_MAX_PER_CUSTOMER`, domyślnie 5).

## Po stronie klienta: tworzenie listy i zarządzanie nią

### Utworzenie listy

Ze swojego konta klient otwiera sekcję list prezentów i tworzy nową listę. Wybiera typ (narodziny, ślub, urodziny, parapetówka, inne), wpisuje tytuł, a opcjonalnie podaje datę wydarzenia, wiadomość powitalną, opis i adres dostawy. Lista jest domyślnie publiczna, ale można ją oznaczyć jako prywatną.

### Dodawanie produktów

Dostępne są dwie drogi:

- Z **karty produktu**: klient wybiera jedną ze swoich list, ustala pożądaną ilość i klika przycisk dodawania. Wariant wybrany na karcie jest uwzględniany.
- Z **panelu zarządzania** listą: klient reguluje pożądaną ilość i priorytet każdego produktu.

Jeśli produkt jest już na liście, dodanie go z karty produktu po prostu zwiększa pożądaną ilość.

### Udostępnienie listy

Każda lista ma unikalny publiczny link. Przycisk „Kopiuj” umieszcza go w schowku, gotowy do wysłania bliskim e-mailem lub komunikatorem.

### Podgląd otrzymanych prezentów

W panelu zarządzania właściciel widzi dla każdego produktu pasek postępu zarezerwowane / pozostało oraz listę otrzymanych prezentów, z imieniem darczyńcy zgodnie z ustawieniem ujawniania imion.

## Po stronie odwiedzającego: podarowanie prezentu

Po otwarciu publicznego linku bliska osoba widzi listę: typ, imię właściciela, datę wydarzenia, wiadomość powitalną i siatkę produktów. Każdy produkt pokazuje postęp zarezerwowane / pozostało.

1. Odwiedzający klika **Podaruj ten prezent** pod wybranym produktem.
2. Podaje ilość (ograniczoną do pozostałej), opcjonalną krótką wiadomość, a jeśli nie jest zalogowany, także imię i opcjonalny e-mail.
3. Może zaznaczyć opcję pozostania anonimowym, jeśli ustawienie ujawniania imion jest włączone.
4. Po zatwierdzeniu produkt zostaje zarezerwowany i dodany do koszyka, a odwiedzający jest przekierowany do koszyka w celu sfinalizowania zamówienia.

Jeśli prezenty od gości są wyłączone, prezent mogą podarować wyłącznie zalogowani klienci.

## Cykl życia rezerwacji

Rezerwacja przechodzi przez następujące stany:

- **Oczekująca**: tworzona w chwili, gdy odwiedzający klika **Podaruj ten prezent** i produkt trafia do koszyka.
- **Potwierdzona**: po zatwierdzeniu zamówienia (hook `actionValidateOrder`) rezerwacja powiązana z koszykiem zostaje potwierdzona i przypisana do zamówienia.
- **Zwolniona**: niesfinalizowana rezerwacja oczekująca, powiązana z porzuconym koszykiem, jest usuwana automatycznie po upływie czasu retencji.

Pozostała ilość produktu to pożądana ilość pomniejszona o sumę rezerwacji oczekujących i potwierdzonych. Gdy produkt jest w pełni obdarowany, zostaje zablokowany i nie można go już podarować, co zapobiega duplikatom.

## Po stronie sprzedawcy: back office

Zakładka **Listy prezentów** (w sekcji Klienci) pokazuje wszystkie listy w sklepie: klient, typ, liczba produktów, liczba prezentów, status aktywna/nieaktywna i data utworzenia.

Widok szczegółowy listy zawiera:

- informacje o liście i o kliencie;
- produkty z ilościami pożądaną, zarezerwowaną i pozostałą;
- rezerwacje z darczyńcą, ilością, wiadomością, statusem i bezpośrednim linkiem do powiązanego zamówienia.

Listy zakłada klient: akcja tworzenia nie jest dostępna w back office. Sprzedawca może je przeglądać i usuwać.

## E-maile z powiadomieniem

Gdy powiadomienie właściciela jest włączone, po każdym potwierdzonym prezencie do właściciela listy wysyłany jest e-mail. Zawiera tytuł listy, podarowany produkt, ilość, imię darczyńcy (zgodnie z ustawieniem ujawniania imion i wyborem anonimowości) oraz ewentualną wiadomość. Szablony e-maili są dostarczane po francusku i po angielsku i można je dostosować.

## Wielojęzyczność i multistore

Etykiety modułu są tłumaczalne przez system tłumaczeń modułów PrestaShop. Wyświetlanie respektuje bieżący kontekst sklepu: lista utworzona w danym sklepie pozostaje z nim powiązana.

## FAQ i rozwiązywanie problemów

### Przycisk dodawania do listy nie pojawia się na karcie produktu

Sprawdź, czy opcja **Przycisk na karcie produktu** jest włączona w ustawieniach i czy hook `displayProductAdditionalInfo` jest prawidłowo osadzony w Twoim szablonie.

### Strona publiczna pokazuje komunikat o nieznalezionej liście

Lista może być prywatna, nieaktywna albo powiązana z innym sklepem. Sprawdź jej status w panelu klienta lub w back office.

### Produkt pozostaje zablokowany, choć zamówienie nie zostało złożone

To rezerwacja oczekująca. Zostanie zwolniona automatycznie po upływie czasu retencji ustawionego w konfiguracji. W razie potrzeby możesz ten czas skrócić.

### Właściciel nie dostaje e-maila

Sprawdź, czy powiadomienie właściciela jest włączone i czy wysyłka e-maili jest poprawnie skonfigurowana w **Ustawienia zaawansowane > E-mail**.

### Co się dzieje przy deinstalacji?

Deinstalacja usuwa trzy tabele modułu, zakładkę administracyjną i ustawienia. Nie pozostają żadne dane szczątkowe.
