Sugester V2

Warunki w odpowiedzi po wypełnieniu formularza

Aktualizacja: Wyświetleń: 6

Wprowadzenie

Moduł formularzy pozwala na dynamiczne dostosowanie odpowiedzi wyświetlanej użytkownikowi po wypełnieniu formularza, w zależności od jego wyborów. Dzięki warunkom możesz personalizować komunikaty, wyjaśnienia i kolejne kroki.

Podstawowa konfiguracja

1. Nadaj nazwę zmiennej w builderze formularza

Każde pole formularza może mieć przypisaną nazwę zmiennej, która będzie przechowywać wybór użytkownika.

Gdzie to ustawić:

  1. Otwórz edycję formularza
  2. Kliknij na wybrane pole (np. select, checkbox, radio)
  3. Po prawej stronie znajdź sekcję “Nazwa zmiennej z wynikiem od Mapuj na”
  4. Wpisz swoją czytelną nazwę zmiennej - przykładowe nazwy:
    • typdokumentu
    • preferowana_muzyka
    • sposob_platnosci
    • zakres_uslugi

💡 Wskazówka: Nazwa zmiennej powinna opisywać zawartość pola. Możesz użyć dowolnej nazwy - to Ty decydujesz jak ją nazwiesz!

⚠️ Ważne: Unikaj myślników w nazwach zmiennych (np. paragony-faktury). Używaj podkreślników (paragony_faktury) lub camelCase (paragonyFaktury).

2. Użyj zmiennej w odpowiedzi po wypełnieniu

Gdzie to wkleić:
W builderze formularza, przewiń w dół do sekcji:
“Odpowiedź po wypełnieniu formularza (% endif %)”

Tam wklej kod z warunkami, używając nazwy zmiennej, którą wcześniej nadałeś.

Składnia warunków

System używa silnika szablonów podobnego do Jinja2/Liquid z następującą składnią:

Wyświetlanie wartości zmiennej

W przykładzie używamy nazwy zmiennej typdokumentu - u Ciebie może być inna:

<p>Wybrałeś: {{ typdokumentu }}</p>

Podstawowy warunek IF

{% if typdokumentu == "faktury" %}
  <p>Będziemy wystawiać faktury VAT.</p>
{% endif %}

Warunek IF-ELSE

{% if typdokumentu == "faktury" %}
  <p>Będziemy wystawiać faktury VAT.</p>
{% else %}
  <p>Będziemy wystawiać inne dokumenty.</p>
{% endif %}

Warunek IF-ELSIF-ELSE

⚠️ Uwaga: System używa elsif, a nie elif!

{% if typdokumentu == "faktury" %}
  <p>Będziemy wystawiać faktury VAT.</p>
{% elsif typdokumentu == "paragony" %}
  <p>Będziemy wystawiać paragony.</p>
{% elsif typdokumentu == "wz" %}
  <p>Będziemy wystawiać dokumenty WZ.</p>
{% else %}
  <p>Skontaktujemy się w sprawie dokumentacji.</p>
{% endif %}

Wiele warunków (OR)

{% if typdokumentu == "faktury, paragony" or typdokumentu == "paragony, faktury" %}
  <p>Wybrano oba typy dokumentów.</p>
{% endif %}

Sprawdzanie pustej wartości

{% if typdokumentu == "" or typdokumentu == null %}
  <p>Nie wybrano żadnej opcji.</p>
{% else %}
  <p>Wybrałeś: {{ typdokumentu }}</p>
{% endif %}

💡 Pamiętaj: We wszystkich przykładach typdokumentu to przykładowa nazwa zmiennej. Użyj nazwy, którą nadałeś swojemu polu!

Przykłady zastosowań

Przykład 1: Prosty select (jedna opcja)

Konfiguracja pola w formularzu:

  • Typ pola: Select (lista rozwijana)
  • Opcje do wyboru: faktury, paragony, wz
  • Nazwa zmiennej: typdokumentu (przykładowa nazwa - możesz użyć innej)

Kod w odpowiedzi:

<h2>Dziękujemy za wypełnienie formularza!</h2>

{% if typdokumentu == "faktury" %}
  <p><strong>Faktury VAT</strong></p>
  <p>Faktura to dokument księgowy zawierający pełne dane transakcji (sprzedawca, nabywca, NIP, kwoty netto/brutto, VAT). Umożliwia odliczenie podatku VAT i jest wymagana w rozliczeniach B2B.</p>
  
{% elsif typdokumentu == "paragony" %}
  <p><strong>Paragony</strong></p>
  <p>Paragon to uproszczony dokument sprzedaży bez danych nabywcy. Idealny do rozliczenia kosztów w firmie, gdy nie potrzebujesz odliczenia VAT.</p>
  
{% elsif typdokumentu == "wz" %}
  <p><strong>Dokumenty WZ</strong></p>
  <p>WZ (Wydanie Zewnętrzne) to dokument magazynowy potwierdzający wydanie towaru z magazynu.</p>
  
{% else %}
  <p>⚠️ Nie określono typu dokumentu. Skontaktujemy się z Tobą.</p>
{% endif %}

Przykład 2: Checkboxy (wiele opcji)

Konfiguracja pola w formularzu:

  • Typ pola: Checkbox (wielokrotny wybór)
  • Opcje do wyboru: faktury, paragony, wuzetki
  • Nazwa zmiennej: dokumenty (przykładowa nazwa - możesz użyć innej)

⚠️ Ważne: Gdy użytkownik wybiera wiele opcji, system łączy je przecinkami w kolejności zaznaczenia: "faktury, paragony" lub "paragony, faktury".

Kod w odpowiedzi:

<h2>Twoje preferencje dokumentacji</h2>

{% if dokumenty == "faktury, paragony" or dokumenty == "paragony, faktury" %}
  <p>Wybrałeś: <strong>Faktury i Paragony</strong></p>
  <p>Przygotujemy dokumenty w obu formatach zgodnie z Twoimi potrzebami.</p>
  
{% elsif dokumenty == "faktury, wuzetki" or dokumenty == "wuzetki, faktury" %}
  <p>Wybrałeś: <strong>Faktury i WZ</strong></p>
  <p>Otrzymasz faktury VAT oraz dokumenty magazynowe WZ.</p>
  
{% elsif dokumenty == "faktury" %}
  <p>Wybrałeś: <strong>Faktury VAT</strong></p>
  <p>Faktury będą wystawiane automatycznie i wysyłane na Twój adres email.</p>
  
{% elsif dokumenty == "paragony" %}
  <p>Wybrałeś: <strong>Paragony</strong></p>
  <p>Paragony będą dostępne w Twoim panelu klienta do pobrania.</p>
  
{% elsif dokumenty == "wuzetki" %}
  <p>Wybrałeś: <strong>Dokumenty WZ</strong></p>
  <p>Dokumenty magazynowe będą dołączone do każdej wysyłki.</p>
  
{% elsif dokumenty == "" or dokumenty == null %}
  <p>⚠️ Nie wybrano żadnej opcji. Skontaktujemy się w sprawie dokumentacji.</p>
  
{% else %}
  <p>Wybrałeś: <strong>{{ dokumenty }}</strong></p>
  <p>Skontaktujemy się z Tobą w sprawie wybranej kombinacji dokumentów.</p>
{% endif %}

💡 Uwaga: W tym przykładzie nazwa zmiennej to dokumenty - u Ciebie może być inna!

Przykład 3: Łączenie wielu pól

<h2>Podsumowanie zamówienia</h2>

<p><strong>Typ dokumentu:</strong> {{ typdokumentu }}</p>
<p><strong>Sposób płatności:</strong> {{ platnosc }}</p>
<p><strong>Dostawa:</strong> {{ dostawa }}</p>

{% if typdokumentu == "faktury" and platnosc == "przelew" %}
  <p>✅ Faktura zostanie wysłana po zaksięgowaniu przelewu.</p>
{% elsif typdokumentu == "faktury" and platnosc == "karta" %}
  <p>✅ Faktura zostanie wygenerowana automatycznie po płatności kartą.</p>
{% endif %}

{% if dostawa == "kurier" %}
  <p>📦 Przesyłka zostanie nadana w ciągu 24h.</p>
{% elsif dostawa == "odbiór osobisty" %}
  <p>🏪 Zamówienie będzie gotowe do odbioru jutro po 12:00.</p>
{% endif %}

💡 Uwaga: W tym przykładzie używamy trzech nazw zmiennych: typdokumentu, platnosc, dostawa - to przykładowe nazwy!

Debugowanie

Podczas konfiguracji warto sprawdzić, jakie dokładnie wartości zwraca formularz.

Dodaj kod debugujący:

Zamień typdokumentu na swoją nazwę zmiennej:

<p>DEBUG: typdokumentu = "{{ typdokumentu }}"</p>

Lub możesz dodatkowo sprawdzić ID pola (zamień 3446 na właściwe):

<p>DEBUG: typdokumentu = "{{ typdokumentu }}"</p>
<p>DEBUG: field_3446 = "{{ field_3446 }}"</p>

Gdzie:

  • typdokumentu - nazwa zmiennej, którą nadałeś (przykładowa)
  • field_3446 - ID pola (znajdziesz w konfiguracji lub URL)

Po wypełnieniu formularza zobaczysz dokładne wartości, które możesz użyć w warunkach.

⚠️ Pamiętaj usunąć linie DEBUG przed wdrożeniem na produkcję!

Najczęstsze błędy i rozwiązania

❌ Błąd 1: Używanie elif zamiast elsif

Nieprawidłowo:

{% if typdokumentu == "faktury" %}
  <p>Faktury</p>
{% elif typdokumentu == "paragony" %}  ❌ NIE ZADZIAŁA
  <p>Paragony</p>
{% endif %}

Prawidłowo:

{% if typdokumentu == "faktury" %}
  <p>Faktury</p>
{% elsif typdokumentu == "paragony" %}  ✅ ZADZIAŁA
  <p>Paragony</p>
{% endif %}

❌ Błąd 2: Różne wielkie/małe litery

System rozróżnia wielkie i małe litery!

{% if typdokumentu == "Faktury" %}  ❌ nie zadziała dla "faktury"
{% if typdokumentu == "faktury" %}  ✅ zadziała

❌ Błąd 3: Brak spacji po przecinku w checkboxach

Gdy użytkownik wybiera faktury i paragony, system może zwrócić:

  • "faktury, paragony" (ze spacją) ✅
  • "faktury,paragony" (bez spacji) - zależy od konfiguracji

Rozwiązanie: Sprawdź przez DEBUG i użyj dokładnie tej samej wartości:

{% if typdokumentu == "faktury, paragony" %}  ✅ ze spacją

❌ Błąd 4: Myślniki w nazwach zmiennych

Problem:

Nazwa zmiennej: paragony-faktury
Użycie: {{ paragony-faktury }}  ❌ może nie działać

Rozwiązanie:

Nazwa zmiennej: paragony_faktury lub paragonyFaktury
Użycie: {{ paragony_faktury }}  ✅ działa

❌ Błąd 5: Nie zamknięto {% endif %}

Nieprawidłowo:

{% if typdokumentu == "faktury" %}
  <p>Faktury</p>
❌ BRAK {% endif %}

Prawidłowo:

{% if typdokumentu == "faktury" %}
  <p>Faktury</p>
{% endif %}  ✅

❌ Błąd 6: Zła kolejność w checkboxach

Użytkownik wybiera kolejno: faktury, paragony
System zwraca: "faktury, paragony"

Twój warunek sprawdza: "paragony, faktury"

Rozwiązanie: Użyj or:

{% if typdokumentu == "faktury, paragony" or typdokumentu == "paragony, faktury" %}

Operatory dostępne w warunkach

Operator Znaczenie Przykład
== równe {% if zmienna == "wartość" %}
!= różne od {% if zmienna != "wartość" %}
or lub (jeden z warunków) {% if a == "x" or a == "y" %}
and i (oba warunki) {% if a == "x" and b == "y" %}

Dodatkowe wskazówki

Formatowanie odpowiedzi

Możesz używać HTML do formatowania:

{% if typdokumentu == "faktury" %}
  <div style="background: #f0f8ff; padding: 15px; border-radius: 5px;">
    <h3>✅ Faktury VAT</h3>
    <p>Twoje faktury będą wystawiane automatycznie.</p>
    <ul>
      <li>Format: PDF</li>
      <li>Wysyłka: email</li>
      <li>Termin: do 3 dni roboczych</li>
    </ul>
  </div>
{% endif %}

Łączenie z innymi zmiennymi formularza

<h2>Cześć {{ imie }}!</h2>

<p>Dziękujemy za wypełnienie formularza.</p>

{% if typdokumentu == "faktury" %}
  <p>Faktury VAT będą wysyłane na adres: <strong>{{ email }}</strong></p>
{% endif %}

{% if newsletter == "tak" %}
  <p>✅ Zapisaliśmy Cię na newsletter.</p>
{% endif %}

💡 Pamiętaj: W przykładach używamy nazw: imie, email, typdokumentu, newsletter - to przykładowe nazwy zmiennych!

Checklist przed wdrożeniem

  • Nadano nazwę zmiennej w builderze (bez myślników)
  • Przetestowano formularz i sprawdzono wartości przez DEBUG
  • Wszystkie wartości w warunkach są identyczne z tymi z formularza (wielkie/małe litery, spacje)
  • Każdy {% if %} ma odpowiadający {% endif %}
  • Użyto {% elsif %} a nie {% elif %}
  • Dla checkboxów uwzględniono różne kolejności (or)
  • Usunięto kod DEBUG przed wdrożeniem
  • Zamieniono przykładowe nazwy zmiennych (typdokumentu, dokumenty itd.) na własne

Potrzebujesz pomocy?

Jeśli masz problem z konfiguracją warunków:

  1. Dodaj kod DEBUG i wyślij nam screenshota z wartościami
  2. Sprawdź tę dokumentację pod kątem najczęstszych błędów
  3. Skontaktuj się z działem wsparcia technicznego

Ostatnia aktualizacja: 2025-10-22

Czy ten wpis był pomocny?

Customer Reviews

Brak komentarzy

Dodaj komentarz