# Pakowanie na Prezent i Wiadomość, kompletny przewodnik

> Wprowadzenie Moduł Pakowanie na Prezent i Wiadomość (dfgiftwrap) dodaje w procesie zamówienia wybór płatnego pakowania na prezent oraz spersonalizowanej kartki z wiadomością. Klient wybiera ilustrowaną opcję pakowania, może dołączyć dowolną…

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

## Wprowadzenie

Moduł **Pakowanie na Prezent i Wiadomość** (`dfgiftwrap`) dodaje w procesie zamówienia wybór **płatnego pakowania na prezent** oraz **spersonalizowanej kartki z wiadomością**. Klient wybiera ilustrowaną opcję pakowania, może dołączyć dowolną wiadomość, a odpowiednie opłaty czysto wchodzą do sumy zamówienia. VAT, walutę i multistore obsługuje rdzeń PrestaShop, aż do faktury.

Opłaty nie są zwykłym elementem wyświetlania: niesie je dedykowany produkt-opłata i cena specyficzna ograniczona do koszyka klienta. Kwota trafia więc naturalnie do sum, zamówienia i faktury, z prawidłowym VAT.

## Kompatybilność

- PrestaShop 8.0 do 9.x
- Pojedynczy sklep i multistore
- PHP 7.4 do 8.3
- Motyw Classic i motywy własne
- Interfejs dostarczony po francusku, w pełni tłumaczalny
- Bez zależności (ani Composer, ani framework)

## Instalacja

1. W back office otwórz **Moduły > Menedżer modułów**.
2. Kliknij **Wgraj moduł** i wskaż plik `dfgiftwrap.zip`.
3. Po instalacji kliknij **Konfiguruj**.

Podczas instalacji moduł tworzy swoje tabele, rejestruje hooki (zasoby front, blok przy kasie, zatwierdzenie zamówienia, karta zamówienia w back office, potwierdzenie) i generuje **ukryty produkt-opłatę** (referencja `DF-GIFTWRAP-FEE`): wirtualny, niewidoczny w sklepie, z nieujawnianą ceną. To on niesie kwotę za pakowanie i kartkę w koszyku. Nie usuwaj go ręcznie.

## Konfiguracja

### Ustawienia ogólne

- **Włącz pakowanie na prezent**: pokazuje lub ukrywa blok opcji pakowania przy kasie.
- **Włącz kartkę z wiadomością**: pokazuje lub ukrywa opcję kartki i wiadomości.
- **Cena kartki**: kwota (netto) doliczana, gdy klient dodaje kartkę z wiadomością.
- **Maksymalna długość wiadomości**: liczba dozwolonych znaków (domyślnie 200). Podczas pisania klientowi towarzyszy licznik.
- **Grupa reguł podatkowych**: grupa VAT stosowana do opłat za pakowanie i kartkę.

### Zarządzanie opcjami pakowania

Na stronie konfiguracji kliknij przycisk zarządzania opcjami, aby otworzyć dedykowany ekran (kontroler `AdminDfGiftWrapOptions`). Tworzysz tam dowolną liczbę opcji, każdą z:

- **Nazwą**: wielojęzyczna etykieta opcji (na przykład elegancki papier kraft, pudełko prezentowe premium).
- **Ceną**: kwota netto opcji pakowania.
- **Zdjęciem**: wizualizacja opcji (automatycznie normalizowana do formatu JPG).
- **Pozycją**: kolejność wyświetlania, zmieniana metodą przeciągnij i upuść.
- **Statusem aktywności**: pokazuje lub ukrywa opcję w sklepie bez jej usuwania.

Nazwa jest polem wielojęzycznym: wybierz język w selektorze pola, aby przetłumaczyć etykietę opcji.

## Działanie

### Przy kasie

Blok pakowania i kartki jest wstawiany na górze podsumowania zamówienia przez hook `displayCheckoutSummaryTop`. Klient wybiera opcję pakowania, ewentualnie włącza kartkę i wpisuje wiadomość. Wybór jest zapisywany przez Ajax. Ponieważ wpływa on na kwotę, suma jest odświeżana, aby uwzględnić opłaty; sama wiadomość zapisuje się bez zbędnego przeładowania.

### Mechanizm opłat

Przy każdym wyborze moduł oblicza łączną kwotę (opcja pakowania plus kartka) i tworzy **cenę specyficzną** (`SpecificPrice`) ograniczoną do bieżącego koszyka, stosowaną do ukrytego produktu-opłaty. Produkt trafia do koszyka, gdy kwota jest większa od zera, a w przeciwnym razie zostaje z niego usunięty. PrestaShop stosuje wtedy VAT, walutę i kontekst multistore, a opłata pojawia się jako zwykła pozycja w sumach, zamówieniu i na fakturze.

### Gdzie pojawia się wiadomość

Przy zatwierdzeniu zamówienia (`actionValidateOrder`) wybór zostaje utrwalony. Wiadomość wpisana przez klienta jest widoczna w trzech miejscach:

- na **karcie zamówienia w back office** (dedykowany blok przez `displayAdminOrderMain`);
- na **stronie potwierdzenia** wyświetlanej klientowi po zakupie;
- w **natywnym polu prezentu** zamówienia (`gift_message`, z `gift = 1`), dzięki czemu pojawia się w standardowych e-mailach PrestaShop.

Ponieważ wiadomość jest zapisywana także w natywnym polu prezentu, Twoje szablony e-maili i narzędzia do kompletacji, które już korzystają z tego pola, wyświetlą tekst klienta bez dodatkowej konfiguracji.

## FAQ i rozwiązywanie problemów

### Czy to karta podarunkowa lub bon zakupowy?

Nie. Moduł obsługuje usługę pakowania na prezent i kartkę z wiadomością, a nie metodę płatności ani bon zakupowy. Klient płaci za pakowanie i może dołączyć dedykację.

### Opłata nie pojawia się w sumie

Sprawdź, czy ukryty produkt-opłata (`DF-GIFTWRAP-FEE`) nadal istnieje i czy co najmniej jedna opcja pakowania jest aktywna. Wyczyść pamięć podręczną PrestaShop, a następnie odśwież stronę zamówienia. Opłata jest naliczana tylko wtedy, gdy obliczona kwota przekracza zero.

### Strona główna lub sklep staje się biała po instalacji

Upewnij się, że używasz najnowszej wersji modułu, i wyczyść pamięć podręczną. Produkt-opłata celowo pozostaje niewidoczny w sklepie; nie udostępniaj go ani nie usuwaj ręcznie.

### Wiadomość jest ucięta

Wiadomość jest ograniczona ustawieniem **Maksymalna długość wiadomości**. Zwiększ tę wartość w konfiguracji, jeśli Twoi klienci potrzebują dłuższych tekstów.

### Jak dodać angielski, hiszpański, niemiecki lub włoski?

Interfejs jest dostarczony po francusku i w pełni tłumaczalny. Przejdź do **Ustawienia zaawansowane > Tłumaczenia > Tłumaczenia zainstalowanych modułów**, wybierz `dfgiftwrap` oraz język, a następnie przetłumacz teksty. Nazwy opcji pakowania tłumaczy się bezpośrednio w ich polu wielojęzycznym.

### Czy moduł jest kompatybilny z PrestaShop 9?

Tak. Moduł został zaprojektowany i przetestowany od PrestaShop 8.0 do 9.x, z kontrolerem administracyjnym legacy, w pojedynczym sklepie oraz w multistore.
