# DataFirefly Cart History & Restore Links: historia koszyków i linki przywracania

> Instalacja Zainstaluj moduł w Moduły > Menedżer modułów > Załaduj moduł, przesyłając plik ZIP, lub skopiuj folder dfcartrestore do katalogu /modules/ sklepu i kliknij Zainstaluj. Instalacja tworzy tabelę dziennika (dfcartrestore_log),…

- Strona: <https://www.datafirefly.com/pl/documentation/dfcartrestore/>
- Język: pl
- Zaktualizowano: 2026-09-28
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfcartrestore/index.md), [en](https://www.datafirefly.com/en/documentation/dfcartrestore/index.md), [es](https://www.datafirefly.com/es/documentation/dfcartrestore/index.md), [de](https://www.datafirefly.com/de/documentation/dfcartrestore/index.md), [it](https://www.datafirefly.com/it/documentation/dfcartrestore/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfcartrestore/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfcartrestore/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Instalacja

Zainstaluj moduł w **Moduły > Menedżer modułów > Załaduj moduł**, przesyłając plik ZIP, lub skopiuj folder `dfcartrestore` do katalogu `/modules/` sklepu i kliknij Zainstaluj.

Instalacja tworzy tabelę dziennika (`dfcartrestore_log`), generuje tajny klucz podpisujący linki i dodaje stronę **Moje zapisane koszyki** do konta klienta. Żadna natywna tabela nie jest zmieniana: przywrócone koszyki to zwykłe koszyki PrestaShop.

## Zasada działania

Link przywracania nigdy nie przenosi koszyka. Gdy ktoś go otworzy, moduł odczytuje pozycje koszyka źródłowego i dodaje je po kolei do własnego koszyka tej osoby, tak jakby klikała „Dodaj do koszyka” przy każdym produkcie.

- Koszyk źródłowy nigdy nie jest zmieniany, nawet jeśli należy do innego klienta lub jest powiązany z zamówieniem.
- Nikt nie jest logowany na konto właściciela koszyka, w przeciwieństwie do natywnego linku odzyskiwania koszyka PrestaShop.
- Ceny, promocje, stany, minimalne ilości i dostępność do zamówienia są takie, jak w chwili przywracania.
- Ten sam link może być użyty wiele razy, przez wiele osób.

## Linki przywracania w panelu

### Lista koszyków

W **Klienci > Koszyki** kolumna **Link przywracania** pokazuje przycisk **Kopiuj link** przy każdym koszyku zawierającym produkty. Link jest kopiowany do schowka bez otwierania koszyka. W eksporcie CSV listy ta kolumna zawiera pełny adres URL.

### Strona szczegółów koszyka

U góry strony koszyka ramka pokazuje pełny link z przyciskami **Kopiuj link** i **Otwórz** oraz liczbę dotychczasowych użyć. Jeśli ustawiono okres ważności, wyświetlana jest data wygaśnięcia.

### Karta klienta

Blok **Koszyki i linki przywracania** pokazuje 10 ostatnich niepustych koszyków klienta z datą, liczbą produktów, sumą produktów, statusem zamówienia i przyciskiem kopiowania.

Link jest generowany w języku i dla sklepu koszyka: klient włoski otrzymuje link do włoskiej wersji sklepu.

## Co widzi osoba otwierająca link

Przy włączonej stronie podglądu (ustawienie domyślne) link otwiera stronę z produktami koszyka, miniaturami i ilościami. Odwiedzający klika **Dodaj te produkty do mojego koszyka**, aby uruchomić przywracanie, a następnie trafia do koszyka lub realizacji zamówienia, zależnie od ustawienia.

Komunikat podsumowuje wynik: dodane produkty, zastosowane kupony, ilości dopasowane do stanu i produkty, których nie udało się dodać.

Przy ofercie przygotowanej przez telefon utwórz koszyk w **Zamówienia > Dodaj nowe zamówienie**, skopiuj jego link z listy koszyków i wyślij go klientowi.

## Strona Moje zapisane koszyki

Link **Moje zapisane koszyki** pojawia się w koncie klienta i w bloku Moje konto w stopce. Strona pokazuje koszyki klienta zawierające produkty, od najnowszego, każdy z:

- datą ostatniej zmiany, liczbą produktów i sumą produktów;
- statusem **Zamówiony** z numerem referencyjnym i linkiem do zamówienia lub **Niezamówiony**;
- miniaturami produktów i rozwijanymi szczegółami, w których oznaczone są produkty już niedostępne;
- przyciskiem **Przywróć ten koszyk** oraz, jeśli opcja jest włączona, przyciskiem **Kopiuj link do udostępnienia**.

Bieżący koszyk klienta nie jest wyświetlany na liście. W trybie zastąpienia potwierdzenie informuje klienta, że jego bieżący koszyk zostanie zastąpiony i że znajdzie go na tej samej stronie.

## Ustawienia

### Konto klienta

- **Pokaż historię koszyków na koncie klienta**: włącza stronę Moje zapisane koszyki i prowadzące do niej linki.
- **Sposób przywracania**: _Zastąp bieżący koszyk_ tworzy nowy koszyk i zostawia poprzedni w historii; _Dodaj do bieżącego koszyka_ łączy produkty z tymi, które już są w koszyku. Niezalogowany gość zawsze łączy, ponieważ nie mógłby odzyskać zastąpionego koszyka.
- **Pokaż koszyki już zamienione w zamówienie**: pozwala ponownie zamówić te same produkty jednym kliknięciem.
- **Koszyków na stronę**: od 1 do 50, domyślnie 10.
- **Okres historii (dni)**: wyświetlane są tylko koszyki zaktualizowane w tym okresie, domyślnie 365, 0 bez limitu.
- **Pozwól klientom kopiować link do udostępniania**: przydatne w B2B, gdy kupiec przygotowuje koszyk, a zamówienie składa współpracownik.
- **Po przywróceniu przekieruj klienta do**: strony koszyka lub realizacji zamówienia. Jeśli produkty zostały dopasowane lub pominięte, klient zawsze trafia na stronę koszyka, aby je zobaczyć.

### Linki przywracania

- **Ważność linków (dni)**: dotyczy linków wygenerowanych od teraz, 0 dla linków bez wygaśnięcia.
- **Pokaż stronę podglądu przed przywróceniem**: zalecane, patrz sekcja Bezpieczeństwo.
- **Przenoś kupony**: _Nigdy_, _Tylko gdy klient przywraca z konta_ (domyślnie) lub _Zawsze_. Kupon jest stosowany tylko wtedy, gdy nadal jest ważny dla nowego koszyka i jego właściciela. Automatyczne reguły bez kodu PrestaShop stosuje ponownie sam.

## Bezpieczeństwo linków

Każdy link zawiera identyfikator koszyka i podpis HMAC-SHA256 obliczony tajnym kluczem modułu. Ręcznie zmieniony identyfikator unieważnia link.

Przycisk **Unieważnij wszystkie istniejące linki** generuje nowy tajny klucz: wszystkie dotychczas udostępnione linki przestają działać, a nowe linki w panelu działają normalnie.

Bramki pocztowe (Outlook Safe Links, Proofpoint, Mimecast) i podglądy linków w Slacku, Teams lub WhatsAppie otwierają linki automatycznie. Jeśli wyłączysz stronę podglądu, każde automatyczne otwarcie ze zwykłej przeglądarki utworzyłoby koszyk. Rozpoznane boty zawsze widzą stronę podglądu, nawet gdy jest wyłączona.

## Zasady stosowane przy przywracaniu

- Produkt wyłączony, niedostępny do zamówienia lub nieobecny w sklepie: pomijany.
- Usunięty wariant: pomijany.
- Ilość poniżej minimalnej: podnoszona do minimalnej ilości.
- Niewystarczający stan bez zgody na zamówienia przy braku towaru: ilość zmniejszana do dostępnego stanu, jeśli nadal spełnia minimum, w przeciwnym razie produkt jest pomijany.
- Produkt personalizowany: teksty kopiowane, przesłane pliki duplikowane na serwerze, więc usunięcie skopiowanej pozycji nigdy nie usuwa pliku zamówienia.
- Nie dodano żadnego produktu: koszyk utworzony na tę okazję jest usuwany, a bieżący koszyk odwiedzającego zostaje przywrócony.

## Dziennik przywróceń

Strona konfiguracji pokazuje 30 ostatnich przywróceń w sklepie: datę, źródło (link lub konto klienta), koszyk źródłowy, nowy koszyk, klienta lub gościa, liczbę dodanych i pominiętych produktów. Numery koszyków otwierają ich stronę w panelu.

## Dla programistów

- `actionDfcartrestoreAfterRestore`: wywoływany po każdym udanym przywróceniu, z `id_cart_source`, `id_cart` i `origin` (`link` lub `account`).
- `actionDfcartrestoreCustomizationCopy`: wywoływany po skopiowaniu personalizacji, z `id_customization_source`, `id_customization`, `id_cart_source` i `id_cart`. Moduł przechowujący własne dane dla personalizacji (konfigurator, grawer) używa go do ich zduplikowania.

## Rozwiązywanie problemów

### Kolumna lub ramka nie pojawia się u niektórych pracowników

PrestaShop pomija hooki modułu, gdy profil zalogowanego pracownika nie ma uprawnienia **Wyświetl** dla tego modułu (**Zaawansowane > Zespół > Uprawnienia**, sekcja Moduły). Nadaj to uprawnienie odpowiednim profilom.

### Link pokazuje „Ten link jest nieprawidłowy.”

Program pocztowy uciął link albo wszystkie linki zostały unieważnione po jego wysłaniu. Skopiuj nowy link z panelu.

### Link pokazuje „Ten link wygasł.”

Minął okres ważności. Skopiuj nowy link lub wydłuż okres ważności dla kolejnych linków.

### Link Moje zapisane koszyki nie pojawia się w koncie

Sprawdź, czy opcja konta klienta jest włączona, a następnie wyczyść pamięć podręczną sklepu. Niektóre motywy nie wyświetlają hooka `displayCustomerAccount`; strona pozostaje dostępna pod adresem `index.php?fc=module&module=dfcartrestore&controller=carts`.

## Zgodność

- PrestaShop 8.0 do 9.x, ten sam plik ZIP obsługuje obie gałęzie.
- Multisklep, wiele języków i walut.
- Bez zależności Composer.
- Interfejs dostępny po francusku, angielsku, hiszpańsku, niemiecku, włosku, niderlandzku, polsku i portugalsku.
