# DF Product Q&A: pytania i odpowiedzi produktowe dla PrestaShop 8 i 9

> Wprowadzenie DF Product Q&A dodaje blok pytań i odpowiedzi pod kartami produktów. Odwiedzający zadają pytania przez publiczny formularz, Ty moderujesz je w panelu administracyjnym, odpowiadasz oficjalnie, a społeczność również może…

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

## Wprowadzenie

DF Product Q&A dodaje blok pytań i odpowiedzi pod kartami produktów. Odwiedzający zadają pytania przez publiczny formularz, Ty moderujesz je w panelu administracyjnym, odpowiadasz oficjalnie, a społeczność również może dodawać własne odpowiedzi. Całość jest publikowana w danych strukturalnych JSON-LD typu QAPage, dzięki czemu Google może wyświetlić rozwijaną listę pytań pod Twoim wynikiem wyszukiwania.

Moduł nie zależy od żadnej zewnętrznej biblioteki: ani od Composera, ani od jQuery. CSS i JavaScript są ładowane wyłącznie na stronach produktów.

## Instalacja

### Z panelu administracyjnego

1. Przejdź do **Moduły > Menedżer modułów**.
2. Kliknij **Wgraj moduł** i wskaż archiwum `dfproductqa-1.0.0.zip`.
3. Po zakończeniu instalacji kliknij **Konfiguruj**.

### Przez FTP

1. Rozpakuj archiwum i wgraj folder `dfproductqa` do katalogu `/modules/` swojego sklepu.
2. W **Moduły > Menedżer modułów** wyszukaj „DF Product Q&A” i kliknij **Instaluj**.

Podczas instalacji moduł tworzy dwie dedykowane tabele, rejestruje swoje hooki i dodaje zakładkę **Pytania i odpowiedzi** w menu **Katalog**.

## Konfiguracja

Wszystkie opcje ustawiasz na stronie konfiguracji modułu. Widoczny na niej baner stale informuje o liczbie pytań i odpowiedzi oczekujących na moderację, wraz z bezpośrednim linkiem do właściwej zakładki.

### Moderacja pytań

- **Automatycznie zatwierdzaj nowe pytania**: domyślnie wyłączone. Dopóki opcja jest wyłączona, żadne pytanie nie pojawia się w sklepie przed Twoim zatwierdzeniem.
- **Tylko zalogowani klienci mogą zadać pytanie**: domyślnie wyłączone. Goście mogą zadać pytanie, podając imię i adres e-mail.

### Odpowiedzi społeczności

- **Zezwalaj na odpowiedzi społeczności**: domyślnie włączone. Odwiedzający mogą odpowiadać na już zatwierdzone pytania.
- **Moderuj odpowiedzi społeczności**: domyślnie włączone. To ustawienie jest niezależne od ustawienia pytań. Odpowiedzi sprzedawcy nigdy nie przechodzą przez moderację: są publikowane natychmiast.
- **Włącz głosy „Pomocne” przy odpowiedziach**: domyślnie włączone. Licznik głosów zasila pole `upvoteCount` w danych strukturalnych.

### Wyświetlanie i SEO

- **Liczba pytań wyświetlanych przy produkcie**: domyślnie 5. Powyżej tej liczby przycisk „Zobacz więcej pytań” odsłania resztę wątku.
- **Dodawaj dane strukturalne QAPage**: domyślnie włączone.
- **Pokazuj gościom pole zgody RODO**: domyślnie włączone.

### Powiadomienia e-mail

- **Powiadamiaj sprzedawcę o każdym nowym pytaniu**: domyślnie włączone.
- **Adres e-mail do powiadomień**: zostaw puste, aby użyć adresu sklepu.
- **Powiadamiaj klienta, gdy jego pytanie otrzyma odpowiedź**: domyślnie włączone. Wiadomość wychodzi w momencie opublikowania odpowiedzi sprzedawcy na zatwierdzone pytanie. Jeśli odpowiadasz na pytanie wciąż oczekujące, e-mail zostanie wysłany przy jego zatwierdzeniu.

## Działanie po stronie sklepu

Blok wyświetla się pod kartą produktu, przez hook `displayFooterProduct`. Składa się z trzech obszarów.

### Zadawanie pytania

Przycisk „Zadaj pytanie o ten produkt” rozwija formularz. Zalogowanemu klientowi imię jest wypełniane automatycznie w formie „Imię N.”, a adres e-mail pobierany z konta. Gość podaje imię i adres e-mail, przy czym adres nigdy nie jest wyświetlany publicznie. Wysyłka odbywa się przez AJAX, bez przeładowania strony.

### Przeglądanie odpowiedzi

Każde pytanie wyświetla swoje zatwierdzone odpowiedzi, sortowane automatycznie: najpierw odpowiedź sprzedawcy, wyróżniona zielonym tłem i etykietą „Odpowiedź oficjalna”, następnie odpowiedzi społeczności uszeregowane malejąco według liczby głosów. Przycisk „Pomocne” pozwala zagłosować, a podwójny głos z tej samej przeglądarki jest blokowany.

### Odpowiadanie na pytanie

Jeśli odpowiedzi społeczności są włączone, pod każdym wątkiem pojawia się link „Odpowiedz na to pytanie”. Odpowiedź trafia do moderacji lub jest publikowana natychmiast, zależnie od Twojego ustawienia.

## Moderacja w panelu administracyjnym

Zakładka **Katalog > Pytania i odpowiedzi** wyświetla wszystkie pytania wraz z produktem, autorem, liczbą odpowiedzi, statusem i datą. Filtrowanie i sortowanie działa na każdej kolumnie.

### Operacje grupowe

Zaznacz kilka pytań, aby je **zatwierdzić**, **odrzucić** lub **usunąć** w jednej operacji. Usunięcie pytania kasuje wszystkie jego odpowiedzi.

### Widok szczegółowy

Przycisk „Zobacz” otwiera szczegóły pytania. Znajdziesz tam:

- produkt, którego dotyczy pytanie, z linkiem do jego karty w panelu i w sklepie,
- autora i jego adres e-mail w formie klikalnego linku,
- dwa przyciski do zatwierdzenia lub odrzucenia pytania,
- tabelę wszystkich odpowiedzi, sprzedawcy i społeczności razem, z ich statusem, liczbą głosów oraz pojedynczymi akcjami zatwierdzenia, odrzucenia i usunięcia,
- pole odpowiedzi sprzedawcy.

### Odpowiedź jako sprzedawca

Wpisz odpowiedź w przeznaczonym do tego polu, a następnie kliknij **Opublikuj odpowiedź**. Zostanie opublikowana natychmiast, podpisana nazwą Twojego sklepu i oznaczona jako „Odpowiedź oficjalna”. Jeśli pytanie wciąż oczekuje, domyślnie zaznaczone pole zatwierdza je równocześnie, więc wątek staje się widoczny jednym ruchem. Klient dostaje wtedy powiadomienie e-mail.

## Dane strukturalne QAPage

Na każdej karcie produktu, która ma co najmniej jedno zatwierdzone pytanie, moduł umieszcza w nagłówku blok JSON-LD typu `QAPage`. Generowana struktura wygląda następująco:

- każde pytanie staje się encją `Question` z polami `name`, `text`, `answerCount`, `dateCreated` i `author`,
- odpowiedź sprzedawcy staje się `acceptedAnswer`, z autorem typu `Organization`,
- odpowiedzi społeczności stają się `suggestedAnswer`, z autorem typu `Person`,
- każda odpowiedź niesie własny `upvoteCount`, zasilany głosami „Pomocne”, oraz `url` wskazujący jej kotwicę na karcie produktu.

Po zatwierdzeniu pierwszych pytań sprawdź kartę produktu w teście wyników z elementami rozszerzonymi Google, a następnie poproś o ponowne zaindeksowanie w Search Console. Faktyczne wyświetlenie rozwijanej listy pozostaje decyzją Google.

## Ochrona przed spamem i RODO

### Wbudowane zabezpieczenia

- **Honeypot**: formularz zawiera pole niewidoczne dla użytkownika. Roboty, które wypełniają wszystkie pola, są odrzucane po cichu.
- **Ochrona przed zalewem zgłoszeń**: ten sam autor nie może wysłać kilku pytań jedno po drugim.
- **Moderacja**: filtr ostateczny, włączony domyślnie.
- **Obowiązkowe logowanie**: opcja najbardziej restrykcyjna, do włączenia, jeśli spam się utrzymuje.

### Dane osobowe

Moduł zbiera imię i adres e-mail odwiedzających niezalogowanych. Adres nigdy nie jest wyświetlany publicznie: służy wyłącznie do wysłania powiadomienia o odpowiedzi. Pole zgody RODO, pokazywane gościom, jest domyślnie włączone. Pytania i odpowiedzi usuniętego produktu są kasowane automatycznie.

## Zgodność techniczna

- **PrestaShop**: 8.0 do 9.x
- **PHP**: 7.4 do 8.3
- **Multistore**: tak, pytania są rozdzielone według sklepu
- **Używane hooki**: `displayHeader`, `displayFooterProduct`, `actionProductDelete`
- **Języki**: FR, EN, ES, DE, IT

## Rozwiązywanie problemów

### Blok nie pojawia się na karcie produktu

Sprawdź w **Wygląd > Pozycje**, czy moduł jest podpięty do hooka `displayFooterProduct`. Niektóre motywy niestandardowe nie wywołują tego hooka: w takim przypadku dodaj jego wywołanie w szablonie produktu swojego motywu.

### Wysłane pytania się nie pojawiają

To zachowanie oczekiwane: moderacja jest włączona domyślnie. Przejdź do **Katalog > Pytania i odpowiedzi** i zatwierdź pytanie. Aby publikować bez moderacji, włącz automatyczne zatwierdzanie w konfiguracji.

### Na stronie nie ma bloku JSON-LD

Blok jest dodawany tylko wtedy, gdy karta ma co najmniej jedno **zatwierdzone** pytanie i gdy odpowiednia opcja jest włączona. Następnie wyczyść cache PrestaShop.

### Klient nie dostaje e-maila z odpowiedzią

Sprawdź, czy opcja powiadamiania klienta jest włączona i czy pytanie ma przypisany adres e-mail (zalogowani klienci korzystają z adresu ze swojego konta). E-mail jest wysyłany tylko raz na pytanie, w momencie opublikowania odpowiedzi sprzedawcy, i wyłącznie gdy pytanie jest zatwierdzone.
