Ulepszony formularz kontaktowy: konfiguracja i pomoc
Szybki start
- Prześlij ZIP modułu w "Modules > Module Manager" i otwórz "Configure".
- Edytuj "Default Contact Form" w Formularz kontaktowy > Formularze, w tym Tytuł formularza i E-mail administratora.
- Sprawdź Wyślij e-mail do administratora, Wyślij potwierdzenie do klienta i Pole wyboru RODO w formularzu.
- Sprawdź aktywne pola w sekcji Pola, zachowując pole typu e-mail do potwierdzeń.
- Skonfiguruj sekcje Informacje o firmie, Lokalizacja i godziny oraz Ochrona przed spamem.
- Włącz Zamień natywną stronę kontaktu, jeśli standardowy URL kontaktu ma używać tego formularza.
- Wyślij test po upływie czasu określonego w polu Min. czas wysłania i sprawdź Zgłoszenia oraz obie docelowe skrzynki e-mail.
Wymaga PrestaShop 1.6.1 lub nowszego i PHP 7.1 lub nowszego.
Instrukcja konfiguracji
Instalacja i przygotowanie pierwszego formularza
- Prześlij ZIP Better Contact Form w "Modules > Module Manager" i otwórz "Configure".
- Otwórz Formularz kontaktowy > Formularze i edytuj "Default Contact Form".
- Sprawdź Tytuł formularza, Opis, E-mail administratora, Komunikat potwierdzenia i Etykieta RODO w każdym języku.
- Otwórz Pola i sprawdź zainstalowane pola imienia i nazwiska, e-maila, telefonu, tematu i wiadomości.
- Skonfiguruj stronę kontaktu i ustawienia e-mail opisane poniżej.
- Wyślij wiadomość testową. Potwierdź, że pojawia się w sekcji Zgłoszenia, i sprawdź obie skrzynki powiadomień.
Wymaga PrestaShop 1.6.1 lub nowszego i PHP 7.1 lub nowszego.
Menu modułu zawiera Panel, Formularze, Pola, Zgłoszenia i Ustawienia. "Configure" otwiera ekran konfiguracji w sekcji Ustawienia.
Konfiguracja strony kontaktu
Ogólny
| Ustawienie | Domyślnie | Co robi |
|---|---|---|
| Zamień natywną stronę kontaktu | Nie | Kieruje standardowy URL kontaktu, w tym językowe przepisania adresu, do strony modułu. Włącz po przetestowaniu formularza. |
| Włącz znaczniki Schema.org | Tak | Dodaje dane LocalBusiness na głównej stronie kontaktu modułu oraz FAQPage, gdy obecna jest treść FAQ. |
Bez zastępowania strony możesz otworzyć kontroler frontowy display modułu przez link modułu wygenerowany przez PrestaShop. Własna obsługa SEO modułu traktuje strony id_form poszczególnych formularzy jako warianty noindex, follow. Centralny mechanizm SEO stron może kontrolować końcowe metadane.
Informacje o firmie
| Ustawienie | Domyślnie | Co zrobić |
|---|---|---|
| Pokaż karty informacji biznesowych | Tak | Wyświetla karty adresu sklepu, telefonu i e-maila z ustawień PrestaShop. |
| Numer WhatsApp | Puste | Wpisz numer międzynarodowy z kodem kraju, np. +48511511286. Pozostaw puste, aby go pominąć. |
| Pokaż linki społecznościowe | Tak | Wyświetla zapisane linki do profili społecznościowych. |
| Pokaż sekcję FAQ | Tak | Wyświetla zapisane pytania i odpowiedzi. |
"Social Links" i "FAQ Items" są zapisanymi wartościami JSON, a nie edytowalnymi polami obecnego formularza konfiguracji. Linki społecznościowe są domyślnie pustą listą. FAQ zawiera domyślnie trzy ogólne pytania o czas odpowiedzi, wsparcie telefoniczne i odwiedziny w biurze. Sprawdź treść przed włączeniem sekcji dla klientów. Może nie opisywać Twojej firmy.
Lokalizacja i godziny
| Ustawienie | Domyślnie | Co zrobić |
|---|---|---|
| Pokaż mapę | Tak | Włącza blok mapy. Obie współrzędne również muszą być niepuste. |
| Szerokość geograficzna mapy | Puste | Wpisz szerokość geograficzną znacznika. |
| Długość geograficzna mapy | Puste | Wpisz długość geograficzną znacznika. |
| Poziom powiększenia mapy | 15 | Dostosuj powiększenie OpenStreetMap. Formularz sugeruje od 1 do 18. |
| Pokaż godziny otwarcia | Tak | Pokazuje zapisany tygodniowy harmonogram i bieżące obliczenie otwarte/zamknięte. |
| Strefa czasowa | PrestaShop PS_TIMEZONE |
Wpisz poprawny identyfikator strefy czasowej PHP, jeśli godziny firmy używają innej strefy. Nie jest ona na stałe ustawiona na Europe/Warsaw. |
Zapisany JSON opening_hours domyślnie obejmuje poniedziałek do piątku od 09:00 do 17:00, z zamknięciem w sobotę i niedzielę. Obecny formularz nie ma edytora harmonogramu. Programista może zmienić zapisaną strukturę z kluczami mon, tue, wed, thu, fri, sat, sun; każdy ma ciągi open i close. Puste wartości oznaczają zamknięcie. Sprawdź wyświetlany harmonogram i strefę czasową przed publikacją.
Ustawienia e-mail i spamu
| Ustawienie | Domyślnie | Użycie podczas działania |
|---|---|---|
| Wyślij powiadomienie do administratora | Tak | Globalna wartość rezerwowa, gdy formularz nie ma własnego przełącznika. |
| Adres e-mail administratora | E-mail sklepu | Odbiorca rezerwowy, gdy E-mail administratora formularza jest puste. Rozdziel wiele adresów przecinkami. |
| Wyślij potwierdzenie do klienta | Tak | Globalna wartość rezerwowa, gdy formularz nie ma własnego przełącznika. Wymaga przesłanego adresu e-mail klienta. |
Zainstalowany formularz ma własne przełączniki poczty. Zmieniaj je w Formularze, aby zatrzymać pocztę dla tego formularza. Przełącznik globalny nie jest nadrzędnym nadpisaniem wypełnionych ustawień formularza.
Ochrona przed spamem
| Ustawienie | Domyślnie | Użycie podczas działania |
|---|---|---|
| Włącz ochronę Honeypot | Tak | Zapisana preferencja globalna. Ochroną każdego formularza steruje jego ustawienie Włącz honeypot. |
| Włącz sprawdzanie oparte na czasie | Tak | Zapisana preferencja globalna. Kontrolą czasu każdego formularza steruje jego ustawienie Włącz sprawdzanie czasu. |
| Minimalny czas wysłania (sekundy) | 3 | Zapisana preferencja globalna. Każdy formularz używa własnej wartości Min. czas wysłania. |
| Maks. zgłoszeń na IP/godzinę | 10 | Oznacza nową wiadomość, gdy ten IP ma już tyle zgłoszeń w ostatniej godzinie. Ustaw 0, aby wyłączyć. |
| Zablokowane słowa | Puste | Wpisz jeden fragment tekstu na wiersz, bez rozróżniania wielkości liter. Dopasowania w przesłanych wartościach oznaczają spam. |
| Zablokowane adresy IP | Puste | Wpisz jeden dokładny IP na wiersz. Pasujące zgłoszenia są oznaczane jako spam. |
Ukryty honeypot to website_url_confirm. Kontrola czasu używa przesłanego znacznika czasu renderowania i oznacza również brakujące lub nieprawidłowe znaczniki. Te kontrole nie wyświetlają CAPTCHA.
Wiadomości spamowe są zapisywane z powodem, ale bez powiadomień e-mail. Odwiedzający otrzymuje standardowy komunikat potwierdzenia. To oznaczanie, a nie zakaz odwiedzania sklepu.
Tworzenie i edycja formularzy
Otwórz Formularze i dodaj lub edytuj wiersz. Zainstalowany formularz ma wewnętrzną nazwę "Default Contact Form". Jego angielski Tytuł formularza to "Contact us", a opis to "Send us a message and we will get back to you as soon as possible." Nowe pola tekstowe wymagają własnej treści.
| Pole | Domyślnie w zainstalowanym formularzu | Co zrobić |
|---|---|---|
| Nazwa wewnętrzna | "Default Contact Form" | Ustaw prywatną etykietę organizacyjną. |
| Tytuł formularza | "Contact us" | Ustaw wielojęzyczny nagłówek w sklepie. |
| Opis | Zainstalowany opis kontaktu | Ustaw wielojęzyczne wprowadzenie. |
| Komunikat potwierdzenia | Dziękujemy za wiadomość! Otrzymaliśmy Twoje zapytanie i wkrótce odpowiemy. | Ustaw wielojęzyczne potwierdzenie wyświetlane po zapisie. |
| Wyślij e-mail do administratora | Tak | Włącz powiadomienia dla tego formularza. |
| E-mail administratora | Puste | Zastąp globalnego odbiorcę lub pozostaw puste, aby użyć wartości rezerwowej. Adresy rozdzielaj przecinkami. |
| Temat wiadomości | Nowe zgłoszenie formularza kontaktowego | Ustaw wielojęzyczny temat dla administratora. Mechanizm wysyłki dopisuje nazwę sklepu. |
| Wyślij potwierdzenie do klienta | Tak | Włącz potwierdzenie na przesłany adres e-mail. |
| Włącz honeypot | Tak | Sprawdza ukryte pole botów tego formularza. |
| Włącz sprawdzanie czasu | Tak | Sprawdza czas, który upłynął dla tego formularza. |
| Min. czas wysłania | 3 sekundy | Zmień minimalny czas formularza. |
| Pole wyboru RODO | Tak | Wymaga zaznaczenia zgody przed zapisem. |
| Etykieta RODO | Wyrażam zgodę na przetwarzanie moich danych osobowych zgodnie z polityką prywatności. | Ustaw wielojęzyczną treść zgody. |
| Aktywne | Tak | Wyłącz, aby zatrzymać wyświetlanie i przesyłanie formularza. |
Dodawanie i porządkowanie pól
Otwórz Pola i wybierz odpowiedni Formularz. Nowe pola domyślnie mają typ Tekst, nie są wymagane, są aktywne, mają Pozycja 0 oraz puste wartości tekstu i walidacji.
| Pole | Co zrobić |
|---|---|
| Formularz | Przypisz pole do formularza. |
| Etykieta | Ustaw widoczną etykietę wielojęzyczną. |
| Nazwa pola | Ustaw przesyłany klucz, np. company_name, order_number, website lub vat_number. Nazwa POST przyjmuje postać mpr_cf_FIELD_NAME. |
| Typ pola | Wybierz text, email, phone, textarea, select, checkbox, url, number lub file. |
| Tekst zastępczy | Ustaw wielojęzyczną wskazówkę wprowadzania. |
| Opis | Ustaw wielojęzyczną pomoc pod polem. |
| Wymagane | Wymagaj przesłanej wartości. |
| Reguła walidacji | Opcjonalnie podaj istniejącą metodę Validate PrestaShop, np. isName, isEmail, isPhoneNumber lub isMessage. |
| Opcje | Wpisz jedną dozwoloną wartość Wybór / lista rozwijana na wiersz. |
| Pozycja | Ustaw kolejność pól. |
| Aktywne | Ukryj lub pokaż to pole. |
Dla listy tematów wpisz osobne wiersze: Pytanie o zamówienie, Prośba o zwrot, Porada produktowa, Konto firmowe i Inne. Pola e-mail, telefonu, URL, liczbowe i listy otrzymują również kontrole właściwe dla typu.
Zachowaj pole typu e-mail, jeśli chcesz potwierdzenia dla klientów. Użyj name lub full_name jako klucza nazwy, aby skopiować ją do kolumny imienia i nazwiska klienta w zgłoszeniu.
Przesyłanie pliku wyświetla pole pliku, ale przesłane pliki nie są zapisywane. Nie używaj go do zbierania załączników. Wymagane pola pliku mogą zostać odrzucone jako puste.
Osadzanie i stylizacja formularza
Użyj szablonu Smarty motywu lub modułu, który wykonuje hooki. Wklejenie Smarty do zwykłego HTML strony CMS nie powoduje wykonania go przez PrestaShop.
{hook h='displayMprContactForm'}
{hook h='displayMprContactForm' id_form=2}
Pierwsze wywołanie używa domyślnego aktywnego formularza. Drugie wybiera formularz według ID.
W sekcji Style motywu sprawdź wykrytą paletę, tekst, tła, obramowania, kolory sukcesu/błędu, kolor fokusu i promienie. Ustawienia prywatne obejmują "Form spacing" (20px), "Card shadow" (0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04)), "Raised card shadow" (0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05)) i "WhatsApp color" (#25D366).
Aby zmienić kod HTML, nadpisz w motywie te szablony modułu:
themes/your-theme/modules/mprcontactform/views/templates/front/contact_form.tpl
themes/your-theme/modules/mprcontactform/views/templates/front/contact_page.tpl
Używaj .mpr-contactform .mpr-cf-title, .mpr-contactform .mpr-cf-btn i .mpr-contact-page .mpr-cp-card--whatsapp do własnych stylów motywu.
Programista aktualizujący zapisane linki społecznościowe może użyć obiektu JSON z kluczami facebook, instagram, x, linkedin, youtube, tiktok, pinterest lub whatsapp, z URL profilu jako każdą wartością. Nie tworzy to dodatkowego pola administracyjnego.
Szablony poczty w views/templates/mails/ otrzymują {form_title}, {customer_name}, {customer_email}, {field_data}, {submission_date}, {ip_address}, {shop_name} i {shop_url}.
Weryfikacja zgłoszeń i rozwiązywanie problemów
Wyślij zwykłą wiadomość po odczekaniu czasu dłuższego niż minimum formularza. Sprawdź w sekcji Zgłoszenia formularz, imię i nazwisko, e-mail, IP, status, flagę spamu, datę i wartości pól. Odczytaj wartości w szczegółach wiersza. Akcje zbiorowe pozwalają oznaczać wiadomości jako przeczytane, jako spam lub je usuwać.
Jeśli brakuje poczty, najpierw sprawdź zapisane zgłoszenie: powód spamu, następnie przełączniki poczty formularza, adresy odbiorców i dostarczanie poczty PrestaShop. Zapisane zgłoszenie oznacza, że formularz zadziałał; e-mail mimo to może nie dotrzeć.
Jeśli brakuje formularza, sprawdź stan Aktywne, aktywne pola i wybrany ID formularza. Jeśli zastępowanie trasy nie działa, sprawdź Zamień natywną stronę kontaktu i przepisanie URL kontaktu sklepu. Jeśli brakuje mapy lub linków społecznościowych, sprawdź ich przełączniki i zapisane współrzędne lub linki.
Odinstalowanie
Wykonaj kopię definicji formularzy i zgłoszeń przed odinstalowaniem. Odinstalowanie usuwa schemat modułu, w tym formularze, pola i zgłoszenia, wraz z konfiguracją i wpisami administracyjnymi. Usuwa również rejestrację w Theme Detector. Użyj przełącznika Aktywne formularza lub wyłącz moduł, aby wstrzymać działanie z zachowaniem rekordów.
Pytania
Brak pytań o ten moduł
Zapytaj o instalację, zgodność lub konfigurację. Odpowiedzi pojawią się tutaj.
Znane problemy
13
Wzmocnienie zabezpieczeń
Natywna strona kontaktowa wyświetlała dwa formularze
E-maile z powiadomieniami nie były dostarczane
Odpowiedzi na potwierdzenia nie docierały do sklepu
Etykiety panelu administracyjnego pozostawały po angielsku
Domyślne godziny używały niewłaściwej strefy czasowej
Strony kontaktowe mogły nie działać przy różnej obsłudze motywu
Brakujące zasoby formularza kontaktowego
Połączony CSS psuł style formularza kontaktowego
Brak stylów natywnego formularza kontaktowego
Brak stylów samodzielnego formularza
Linki językowe strony kontaktowej były błędne
Tytuł strony kontaktowej pomijał nazwę sklepu
Zgłoszenia funkcji
7
Zaimplementowane
Przetłumaczony domyślny formularz kontaktowy
Własne formularze kontaktowe
Wbudowana ochrona przed spamem
Wygląd formularzy dopasowany do motywu
Aktualizacje jednym kliknięciem
Wersje językowe strony kontaktowej
Cloudflare Turnstile
Dziennik zmian
v1.4.82026-09-06
- FixedContact form stylesheet now loads on the native PrestaShop contact page (registered via actionFrontControllerSetMedia with a PS 1.6 link fallback)
Starsze wersje
v1.4.72026-08-10
- FixedFront-office form styling on the standalone contact page
v1.4.62026-05-27
- AddedLocalize default contact forms
- AddedUse shared theme style tokens
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedVendor prestashop compat as files
- FixedSuppress contact schema on noindex form variants
- FixedCapture contact user agent safely
- FixedUse local CSS path for CCC bundling compatibility
v1.4.62026-05-26
- Fixeddemo installation by refreshing shared package wiring and autoload registration.
- Addedlazy post-install integrity runner so first-visit install checks fire consistently.
- Cleaned the customer ZIP packaging for current shared admin, integrity, update, selector, and search assets.
v1.3.02026-04-20
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Improvedsettings form organization with tabbed layout
- ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
- FixedAdd canonical route name for getModuleLink resolution
- FixedAppend shop name to contact page meta title
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.2.02026-02-13
- AddedPrestaShop 9 and Hummingbird theme compatibility
- Addedfile attachment support with configurable allowed file types and maximum upload size
- Improvedform-specific recipient email and customer confirmation settings
- Fixedhoneypot field interfering with PS native form validation on older jQuery builds
- Addedminimum submit-time anti-bot checks as companion protection to honeypot fields
v1.0.02025-12-04
- Initialrelease of Better Contact Form
- InitialCustom field builder: add text, textarea and select fields via the back office interface
- InitialHoneypot anti-bot protection with no CAPTCHA friction for legitimate users
- InitialForm-specific recipient email address for admin notifications
- InitialInquiry log in back office with full submission history and CSV export
v1.1.02025-09-16
- Addedcustom field types: email, phone, URL, number, checkbox, file upload, textarea and select
- Addedconfigurable success messages and customer confirmation emails per form
- Improvedback office submission tracking and filtering
- Fixedsubmitted form data not saved to inquiry log when email delivery fails
Demo
Przetestuj pełny moduł przed zakupem
Licencję kupisz później, a ustawienia zostaną.
- Twoje 30-dniowe demo Przetestuj go we własnym sklepie przez 30 dni od pierwszej instalacji.
- Gotowy sklep demo Poznaj gotowy sklep demo w przeglądarce.
- Bez rejestracji Bez konta, adresu e-mail ani domeny sklepu.
Pobierając, akceptujesz warunki dema i politykę prywatności.
Otwierając to demo, akceptujesz regulamin wersji demo oraz politykę prywatności.