Dokumentacja CC Zapytaj o Produkt
Kompleksowa dokumentacja dla modułu zapytań o produkty dla PrestaShop (cc_ps_product_question) z zaawansowanymi funkcjami bezpieczeństwa, stylizacji i szczegółowym zarządzaniem formularzami pytań.Table of contents
- Introduction
- Installation
- License activation
- Management panel
- General settings
- Wygląd i umiejscowienie
- Stylizacja przycisku
- Stylizacja modala
- Ustawienia formularza
- Konfiguracja e-mail
- System bezpieczeństwa
- Zarządzanie pytaniami
- Troubleshooting
- FAQ
1. introduction
CC Zapytaj o Produkt to zaawansowany moduł umożliwiający klientom zadawanie pytań bezpośrednio na stronie produktu. Moduł oferuje intuicyjny interfejs, który zwiększa zaangażowanie klientów i pomaga w podejmowaniu decyzji zakupowych poprzez łatwą komunikację z obsługą sklepu.Main functions of the module:
- Formularz pytań bezpośrednio na stronie produktu
- Kompletna stylizacja przycisku i modala
- Elastyczne pola formularza (imię, e-mail, telefon, wiadomość)
- Zaawansowany system bezpieczeństwa
- Wielojęzyczne szablony e-mail
- Zarządzanie pytaniami w panelu administracyjnym
- Multiple hooki do pozycjonowania
- Zabezpieczenia przed spam i botami
2 Installation
System requirements- PrestaShop 1.7.0.0 lub nowszy
- PHP 7.2 lub nowszy
- MySQL 5.6 lub nowszy
- Permission to install modules
- Minimum 256 MB RAM (zalecane 512 MB)
- Download the ZIP file of the module from the official store cocos.codes
- Log in to your PrestaShop admin panel
- Go to: Modules > Module Manager > Add New Module
- Click "Add Module" and select the downloaded ZIP file
- When the installation is complete, click "Configure"
Info
Po instalacji moduł automatycznie utworzy niezbędne tabele w bazie danych, katalogi dla e-maili oraz ustawi domyślną konfigurację. Konieczne będzie skonfigurowanie modułu oraz aktywacja licencji przed pełnym wykorzystaniem wszystkich funkcji.
3. license activation
It is necessary to activate the license before using the full functionality of the module:- After installation, go to configure the module
- Select the "License" tab
- Enter the license key you received after purchase
- Click "Activate License"
- After successful activation, you will see a confirmation message and all functions of the module will be unlocked
Warning
Bez aktywnej licencji moduł będzie działał w trybie ograniczonym – formularz będzie funkcjonował, ale e-maile nie będą wysyłane, a w górnej części panelu administracyjnego będzie wyświetlany komunikat o nieaktywnej licencji.
4. management panel
Panel zarządzania modułem składa się z kilku zakładek, które umożliwiają pełną konfigurację i zarządzanie:Main tabs:
- Configuration – główne ustawienia modułu, stylizacja i formularz
- Pytania – lista wszystkich otrzymanych pytań z możliwością zarządzania
- Documentation - link to online documentation
- Support - link to support page
- Plugins – dodatkowe rozszerzenia COCOS
- License - module license management
5. Ustawienia ogólne
W sekcji ustawień ogólnych znajdziemy podstawowe opcje sterujące działaniem modułu:Ustawienie | Description | Domyślna wartość |
Włącz moduł | Globalne włączenie/wyłączenie modułu | Włączony |
- Włączony – formularz pytań jest widoczny na wszystkich stronach produktów
- Wyłączony – formularz nie jest wyświetlany na żadnej stronie produktu
Tip
Używaj tego przełącznika do szybkiego wyłączenia modułu bez odinstalowywania, np. podczas prac konserwacyjnych sklepu lub testowania.
6. Wygląd i umiejscowienie
Sekcja ta pozwala na pełną kontrolę nad wyglądem i pozycjonowaniem przycisku pytania:Etykieta przycisku
Pole wielojęzyczne pozwalające na ustawienie różnych tekstów przycisku dla każdego aktywnego języka w sklepie. Domyślnie: „Zapytaj o ten produkt”.
Pozycja przycisku
Moduł oferuje wielokrotny wybór hooków do umieszczenia przycisku:
Hook | Opis pozycji | Zalecane użycie |
displayProductAdditionalInfo | Pod informacjami o produkcie | Najbardziej popularna pozycja |
displayProductButtons | Obok przycisku „Dodaj do koszyka” | Wysokie zaangażowanie klientów |
displayAfterProductThumbs | Po miniaturkach produktu | Gdy jest mało miejsca w głównej sekcji |
displayHeader | W nagłówku strony | Zawsze widoczny |
displayFooter | W stopce strony | Drugorzędna pozycja |
displayCustomProductQuestion | Hook niestandardowy | Wymaga modyfikacji tematu |
Note
Zmiana pozycji automatycznie odrejestrowuje moduł ze starych hooków i rejestruje w nowym. Hook niestandardowy wymaga dodania wywołania w odpowiednim miejscu tematu.
7. Stylizacja przycisku
Moduł oferuje pełną kontrolę nad wyglądem przycisku bez konieczności edycji CSS:Kolory przycisku
- Background color – główny kolor przycisku (domyślnie: #007bff)
- Text color – kolor napisu na przycisku (domyślnie: #ffffff)
- Kolor po najechaniu – kolor tła przy hover (domyślnie: #0056b3)
- Kolor obramowania – kolor ramki przycisku (domyślnie: #007bff)
- Grubość obramowania – szerokość ramki w pikselach (0 = bez ramki)
- Rounding the corners – promień zaokrąglenia w pikselach
- Padding – wewnętrzne odstępy w formacie CSS (np. „10px 20px”)
- Font size – wybór z predefiniowanych rozmiarów (12px-20px)
- Grubość czcionki – od Light (300) do Bold (700)
- Ikona – opcjonalna ikona pytania obok tekstu
Tip
Wszystkie style są aplikowane z flagą !important, co gwarantuje ich działanie niezależnie od tematu. Możesz podglądać zmiany na żywo po zapisaniu ustawień.
8. Stylizacja modala
Równie szczegółowa kontrola nad wyglądem okna dialogowego z formularzem:Kolory modala
- Tło nagłówka – kolor tła górnej sekcji (domyślnie: #f8f9fa)
- Tekst nagłówka – kolor tytułu modala (domyślnie: #495057)
- Tło modala – główne tło formularza (domyślnie: #ffffff)
- Kolor obramowania – ramka całego modala (domyślnie: #dee2e6)
- Rounding the corners – promień zaokrąglenia całego modala
- Maximum width – w px, %, vw (domyślnie: 600px)
- Background color – kolor półprzezroczystego tła za modalem
- Transparency – od 0% (niewidoczne) do 100% (nieprzezroczyste)
9. Ustawienia formularza
Elastyczna konfiguracja pól formularza pozwala dostosować go do potrzeb sklepu:Konfiguracja pól kontaktowych
Każde pole ma dwie opcje: widoczność i wymagalność
Pole | Opcje konfiguracji | Domyślne ustawienia |
Name | Pokazuj pole / Pole wymagane | Widoczne i wymagane |
Pokazuj pole / Pole wymagane | Widoczne i wymagane | |
Phone | Pokazuj pole / Pole wymagane | Widoczne ale niewymagane |
Wiadomość | Pokazuj pole / Pole wymagane | Widoczne i wymagane |
- Warianty produktu – pokazanie listy dostępnych kombinacji produktu
- Wiadomość powitalna – tekst wyświetlany na górze formularza
Moduł automatycznie sprawdza:
- Poprawność formatu e-mail
- Poprawność numeru telefonu
- Obecność przynajmniej jednej informacji kontaktowej
- Maksymalną długość pól (1000 znaków dla wiadomości)
- Zabezpieczenia przed XSS i injection
Warning
Jeśli wyłączysz wszystkie pola kontaktowe lub ustawisz je jako niewymagane, klienci mogą wysyłać anonimowe pytania. Zalecamy pozostawienie przynajmniej e-maila jako wymaganego.
10. Konfiguracja e-mail
Kompleksny system wysyłania powiadomień e-mail do administratora i klientów:Ustawienia podstawowe
- E-mail administratora – adres odbiorcy pytań (domyślnie: e-mail sklepu)
- Kopia do klienta – wysyłanie potwierdzenia do osoby pytającej
- Dodatkowe informacje – stopka e-maila z informacjami kontaktowymi
Moduł oferuje elastyczny system szablonów:
- Szablon domyślny – standardowy wygląd wiadomości
- Szablony niestandardowe – możliwość tworzenia własnych wzorów
- Podgląd szablonów – możliwość podglądu przed zastosowaniem
{customer_name} - imię klienta
{customer_email} - e-mail klienta
{customer_phone} - telefon klienta
{product_name} - nazwa produktu
{product_url} - link do produktu
{message} - treść pytania
{date} - data wysłania
{shop_name} - nazwa sklepu
{email_footer} - dodatkowe informacje
{customer_ip} - adres IP (tylko admin)
Note
Szablony e-mail są tworzone automatycznie dla wszystkich aktywnych języków podczas instalacji. Możesz je edytować w folderze /modules/cc_ps_product_question/mails/.
11. System bezpieczeństwa
Moduł zawiera zaawansowane mechanizmy ochrony przed spam i atakami:Ochrona Honeypot
Ukryte pole niewidoczne dla użytkowników, ale wypełniane przez boty. Jeśli zostanie wypełnione, formularz jest odrzucany.
Ograniczenie częstotliwości
- Czas blokady – okno czasowe limitowania (domyślnie: 60 sekund)
- Maksymalna liczba – dozwolona liczba pytań z jednego IP (domyślnie: 3)
- Minimalny czas – najmniejszy czas na wypełnienie (domyślnie: 3 sekundy)
- Maksymalny czas – czas wygaśnięcia formularza (domyślnie: 30 minut)
Trzy dostępne typy weryfikacji:
Typ CAPTCHA | Description | Wymagania |
Proste pytanie | Matematyczne działanie (np. 5 + 3 = ?) | Brak |
Graficzna | Obrazek z kodem do przepisania | Rozszerzenie GD |
Google reCAPTCHA | Zewnętrzna weryfikacja Google | Klucze API |
Czarna lista IP
Możliwość blokowania konkretnych adresów IP. Lista oddzielana przecinkami, obsługuje IPv4 i IPv6.
Logowanie bezpieczeństwa
Wszystkie podejrzane aktywności są logowane w dzienniku błędów serwera z informacjami:
- Adres IP atakującego
- Typ próby naruszenia
- Timestamp ataku
- Dodatkowe dane kontekstowe
Tip
Zalecamy włączenie przynajmniej ochrony Honeypot i ograniczenia częstotliwości. CAPTCHA używaj tylko w przypadku dużej ilości spam.
12. Zarządzanie pytaniami
Zakładka „Pytania” oferuje kompletny panel zarządzania otrzymanymi pytaniami:Lista pytań
Tabela ze wszystkimi pytaniami zawierająca:
- ID pytania – unikalny identyfikator
- Data wysłania – timestamp utworzenia pytania
- Dane klienta – imię, e-mail, telefon i adres IP
- Product name – o który produkt dotyczy pytanie
- Treść pytania – pełna wiadomość klienta
- Akcje – operacje na pytaniu
- Paginacja – podział na strony (20 pytań na stronę)
- Linki kontaktowe – klikalne adresy e-mail i telefony
- Podgląd IP – link do sprawdzenia lokalizacji IP
- Usuwanie pojedyncze – kasowanie wybranych pytań
- Usuwanie wszystkich – czyszczenie całej listy
Panel automatycznie wyświetla przydatne informacje:
- Łączną liczbę pytań w systemie
- Informację o braku pytań
- Komunikaty o błędach bazy danych
Warning
Usunięcie pytań jest nieodwracalne. Upewnij się, że odpowiedziałeś klientom przed skasowaniem ich pytań. Funkcja „Usuń wszystkie” czyści całą bazę pytań.
13 Troubleshooting
Przycisk nie wyświetla się na stronie produktu- Sprawdź czy moduł jest włączony w ustawieniach ogólnych
- Make sure the license is active
- Sprawdź czy wybrany hook jest obsługiwany przez szablon
- Wyczyść pamięć podręczną PrestaShop
- Sprawdź czy nie ma konfliktów z innymi modułami
- Sprawdź konsolę przeglądarki na błędy JavaScript
- Upewnij się, że AJAX URL jest poprawny
- Sprawdź uprawnienia do bazy danych
- Wyłącz tymczasowo CAPTCHA i zabezpieczenia
- Sprawdź czy tabela cc_product_question istnieje
- Sprawdź konfigurację e-mail w PrestaShop
- Upewnij się, że adres administratora jest poprawny
- Sprawdź folder spam
- Przetestuj wysyłanie e-maili z innych modułów
- Sprawdź logi serwera pod kątem błędów Mail::Send
- Sprawdź czy IP klienta nie jest na czarnej liście
- Upewnij się, że czasy wypełniania są realistyczne
- Wyłącz CAPTCHA jeśli sprawia problemy
- Sprawdź czy pole Honeypot nie jest widoczne
- Zweryfikuj klucze reCAPTCHA jeśli używasz Google
- Sprawdź czy tabela ma wszystkie wymagane kolumny
- Upewnij się, że uprawnienia MySQL są poprawne
- Spróbuj odinstalować i zainstalować ponownie moduł
- Sprawdź logi błędów MySQL
- Skontaktuj się z administratorem serwera
Error
If you encounter unsolvable problems with the module, please make sure you are using the latest version and that your PrestaShop store is up to date. In case of difficulties, contact COCOS support via the following page. cocos.codes/support.
14 FAQS.
Czy mogę umieścić przycisk w niestandardowym miejscu?Tak, wybierz hook „displayCustomProductQuestion” i dodaj w odpowiednim miejscu szablonu wywołanie:
{hook h='displayCustomProductQuestion'}
Jak zmienić wygląd formularza?
Możesz edytować pliki CSS w folderze /modules/cc_ps_product_question/views/css/ lub używać ustawień stylizacji w panelu administracyjnym.
Czy mogę dodać dodatkowe pola do formularza?
Obecnie moduł obsługuje predefiniowane pola. Dodanie nowych pól wymaga modyfikacji kodu źródłowego modułu.
Jak utworzyć niestandardowy szablon e-mail?
Skopiuj plik product_question_admin.html w folderze mails/[język]/ i zmień nazwę na np. custom_product_question_admin.html. Następnie wybierz szablon „custom” w ustawieniach.
Czy moduł działa z produktami z kombinacjami?
Tak, jeśli włączysz opcję „Pokazuj warianty produktu”, klienci będą mogli wybrać konkretną kombinację w pytaniu.
Jak długo przechowywane są pytania?
Pytania są przechowywane bez ograniczeń czasowych, dopóki nie zostaną ręcznie usunięte przez administratora.
Czy mogę eksportować pytania?
Obecnie moduł nie ma wbudowanej funkcji eksportu, ale wszystkie dane są w tabeli cc_product_question i mogą być wyeksportowane przez phpMyAdmin.
Co się stanie po wygaśnięciu licencji?
Po wygaśnięciu licencji formularz będzie nadal działał, ale e-maile nie będą wysyłane. Pozostanie dostęp do przeglądania zapisanych pytań.
Czy moduł obsługuje sklepy wielojęzyczne?
Tak, moduł w pełni obsługuje sklepy wielojęzyczne. Etykiety przycisku można ustawić osobno dla każdego języka, a szablony e-mail są tworzone dla wszystkich aktywnych języków.
Jak często jest aktualizowany moduł?
Moduł jest regularnie aktualizowany aby zapewnić zgodność z najnowszymi wersjami PrestaShop oraz wprowadzać nowe funkcje. Posiadacze ważnej licencji mają dostęp do wszystkich aktualizacji bezpłatnie.
Czy mogę używać modułu na środowisku testowym?
Tak, licencja pozwala na użycie modułu również na subdomenach testowych (np. test.mojsklep.pl) oraz lokalnych środowiskach developerskich. Szczegóły znajdziesz w warunkach licencji.
Jak działają zabezpieczenia przed spam?
Moduł używa kilku warstw ochrony: Honeypot (ukryte pole), ograniczenia częstotliwości na IP, kontrola czasu wypełniania, opcjonalna CAPTCHA i czarna lista IP.
Czy formularz działa z cache’owaniem strony?
Tak, formularz jest ładowany dynamicznie przez AJAX, więc działa poprawnie nawet z włączoną pamięcią podręczną stron.
Jak sprawdzić czy e-maile są wysyłane?
Sprawdź zakładkę „Zaawansowane > E-mail” w panelu PrestaShop i przetestuj wysyłanie testowego e-maila. Jeśli test przejdzie, problem może być w konfiguracji modułu.
Czy mogę zmienić adres „od kogo” w e-mailach?
E-maile są wysyłane z domyślnych ustawień sklepu PrestaShop. Aby zmienić nadawcę, zmodyfikuj ustawienia w „Zaawansowane > E-mail”.
Co oznacza błąd „Tabela nie istnieje”?
Oznacza to, że tabela bazy danych nie została utworzona podczas instalacji. Spróbuj odinstalować i zainstalować ponownie moduł lub skontaktuj się z supportem.
Jak zmienić maksymalną długość wiadomości?
Obecnie limit wynosi 1000 znaków i jest zdefiniowany w kodzie dla bezpieczeństwa. Zmiana wymaga modyfikacji pliku SecurityHandler.php.
Czy moduł współpracuje z modułami SEO?
Tak, moduł nie interferuje z URL-ami ani metadanymi strony, więc jest kompatybilny z modułami SEO.
Jak działa ochrona przed atakami XSS?
Moduł automatycznie skanuje wiadomości pod kątem podejrzanych wzorców jak