Lista Prezentów: Narodziny, Ślub i Urodziny, kompletny przewodnik
Instalacja, konfiguracja i codzienna obsługa współdzielonych list prezentów na narodziny, ślub i urodziny: tworzenie przez klienta, publiczny link, rezerwacja do koszyka, podgląd i back office, dla PrestaShop 8 i 9.
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
- Pobierz archiwum
dfgiftregistry.zipze swojego konta klienta. - W back office przejdź do Moduły > Menedżer modułów.
- Kliknij Wgraj moduł i wskaż archiwum.
- 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.
- Odwiedzający klika Podaruj ten prezent pod wybranym produktem.
- Podaje ilość (ograniczoną do pozostałej), opcjonalną krótką wiadomość, a jeśli nie jest zalogowany, także imię i opcjonalny e-mail.
- Może zaznaczyć opcję pozostania anonimowym, jeśli ustawienie ujawniania imion jest włączone.
- 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.