[Sugester V2](https://pomoc.sugester2.pl.md) / [Formularze](https://pomoc.sugester2.pl/formularze-1.md)

# [Warunkowe odpowiedzi w formularzach (v2)](https://pomoc.sugester2.pl/warunkowe-odpowiedzi-w-formularzach-v2-ahoUdTZr.md)

Dowiedz się, jak wyświetlać różne treści w zależności od wyboru użytkownika w formularzu.

---

## Czym są warunkowe odpowiedzi?

Warunkowe odpowiedzi pozwalają na wyświetlenie różnych treści po wypełnieniu formularza, w zależności od tego, co użytkownik wybrał. Dzięki temu możesz personalizować komunikaty, instrukcje i dalsze kroki.

**Przykład:** Jeśli użytkownik wybierze "faktury", zobaczy informacje o fakturach VAT. Jeśli wybierze "paragony", zobaczy informacje o paragonach.

---

## Jak to skonfigurować?

### Krok 1: Utwórz pole wyboru

1. Otwórz edycję formularza
2. Dodaj pole typu:
   - **Pole wyboru** (select/dropdown) - dla pojedynczego wyboru
   - **Pole wielokrotnego wyboru** (checkboxy) - dla wielu opcji
3. Dodaj opcje, np: `faktury`, `paragony`, `wz`

### Krok 2: Nadaj nazwę zmiennej

W prawym panelu, w ustawieniach pola znajdź:
**"Nazwa zmiennej z wynikiem od Mapuj na"**

Wpisz czytelną nazwę (bez spacji i myślników), np:
- `typdokumentu`
- `sposob_platnosci`
- `wybor_opcji`

💡 **Wskazówka:** Używaj tylko liter, cyfr i podkreślników.

### Krok 3: Dodaj kod warunkowy

Przewiń formularz na sam dół i znajdź pole:
**"Odpowiedź po wypełnieniu formularza (% endif %)"**

Wklej kod z warunkami (patrz przykłady poniżej).

---

## Przykłady

### Przykład 1: Prosty wybór (select)

**Konfiguracja:**
- Pole: Select
- Opcje: `faktury`, `paragony`, `wz`
- Nazwa zmiennej: `typdokumentu`

**Kod do wklejenia:**

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

{% if typdokumentu == "faktury" %}
  <p><strong>Faktury VAT</strong></p>
  <p>Faktury będą wystawiane automatycznie i wysyłane na Twój adres email.</p>
  
{% elsif typdokumentu == "paragony" %}
  <p><strong>Paragony</strong></p>
  <p>Paragony będą dostępne w Twoim panelu klienta do pobrania.</p>
  
{% elsif typdokumentu == "wz" %}
  <p><strong>Dokumenty WZ</strong></p>
  <p>Dokumenty magazynowe będą dołączone do każdej wysyłki.</p>
  
{% else %}
  <p>Nie wybrano żadnej opcji.</p>
{% endif %}
```

### Przykład 2: Wiele opcji (checkboxy)

**Konfiguracja:**
- Pole: Pole wielokrotnego wyboru
- Opcje: `faktury`, `paragony`, `wz`
- Nazwa zmiennej: `dokumenty`

**Kod do wklejenia:**

```html
<h2>Twoje preferencje</h2>

<p>Wybrałeś: <strong>{{ dokumenty }}</strong></p>

{% if dokumenty == "faktury, paragony" or dokumenty == "paragony, faktury" %}
  <p>Przygotujemy dokumenty w obu formatach.</p>
  
{% elsif dokumenty == "faktury" %}
  <p>Będziemy wystawiać tylko faktury VAT.</p>
  
{% elsif dokumenty == "paragony" %}
  <p>Będziemy wystawiać tylko paragony.</p>
  
{% else %}
  <p>Skontaktujemy się z Tobą w sprawie dokumentacji.</p>
{% endif %}
```

⚠️ **Uwaga:** Dla checkboxów sprawdzaj różne kolejności wyboru używając `or`.

---

## Składnia

### Wyświetlanie wartości

```html
{{ nazwa_zmiennej }}
```

Wyświetla wartość wybraną przez użytkownika.

### Warunki

```html
{% if nazwa_zmiennej == "wartość" %}
  <p>Treść gdy warunek spełniony</p>
{% elsif nazwa_zmiennej == "inna_wartość" %}
  <p>Treść dla innej wartości</p>
{% else %}
  <p>Treść domyślna</p>
{% endif %}
```

⚠️ **Ważne:** Używaj `{% elsif %}` a nie `{% elif %}`

### Operatory

- `==` - równe
- `!=` - różne od
- `and` - i (oba warunki muszą być spełnione)
- `or` - lub (wystarczy jeden warunek)

**Przykład z operatorami:**

```html
{% if dokument == "faktury" and platnosc == "przelew" %}
  <p>Faktura zostanie wysłana po zaksięgowaniu przelewu.</p>
{% endif %}
```

---

## Najczęstsze problemy

### Warunek nie działa

**Przyczyna:** Nazwa zmiennej w kodzie różni się od nazwy w polu "Mapuj na".

**Rozwiązanie:** Sprawdź, czy nazwa zmiennej jest identyczna (wielkie/małe litery mają znaczenie).

### Dla checkboxów pokazuje się tylko "else"

**Przyczyna:** Nie uwzględniono różnych kolejności wyboru opcji.

**Rozwiązanie:** Użyj `or` aby sprawdzić obie kolejności:

```html
{% if zmienna == "opcja1, opcja2" or zmienna == "opcja2, opcja1" %}
```

### Błąd składni

**Przyczyna:** Użyto `{% elif %}` zamiast `{% elsif %}`

**Rozwiązanie:** Zawsze używaj `{% elsif %}` (z literą "s")

### Wartości nie pasują

**Przyczyna:** Różnice w wielkich/małych literach lub spacji.

**Rozwiązanie:** 
- `"Faktury"` ≠ `"faktury"` (wielkie litery mają znaczenie)
- `"faktury, paragony"` ≠ `"faktury,paragony"` (spacja po przecinku)

---

## Debugowanie

Jeśli nie wiesz, jaka dokładnie wartość jest w zmiennej, dodaj na początku:

```html
<p>DEBUG: {{ nazwa_zmiennej }}</p>
```

Wypełnij formularz i zobacz wyświetloną wartość. Następnie usuń tę linię.

---

## Dobre praktyki

✅ **Używaj czytelnych nazw zmiennych:** `typdokumentu` zamiast `td`

✅ **Unikaj myślników w nazwach:** `typ_dokumentu` zamiast `typ-dokumentu`

✅ **Dla checkboxów sprawdzaj różne kolejności** używając `or`

✅ **Zamykaj każdy warunek:** każdy `{% if %}` wymaga `{% endif %}`

✅ **Testuj przed publikacją:** wypełnij formularz testowo i sprawdź wszystkie możliwe wybory

---

## Podsumowanie

1. Dodaj pole wyboru do formularza
2. Nadaj nazwę zmiennej w "Mapuj na"
3. Dodaj kod warunkowy w "Odpowiedź po wypełnieniu formularza"
4. Użyj składni `{% if %}`, `{% elsif %}`, `{% else %}`, `{% endif %}`
5. Testuj wszystkie możliwe warianty

<img src="https://s3.eu-west-1.amazonaws.com/attachments.intum.net/public-files/2/d2aeee5bc4549bb985dcda38b6b17b08e86af85b" alt="" style="max-width: 100%;" />
---

## Szablony mailowe (template:)

Warunki Liquid można też używać do **wysyłania różnych maili** w zależności od wyboru. W polu "Treść potwierdzenia" wpisujesz:

```liquid
{% if temat == "Pytanie o ofertę" %}template:1 Pytania > Oferta{% endif %}
{% if temat == "Usunięcie konta" %}template:1 Pytania > Usunięcie konta{% endif %}
```

Więcej: [Automatyczne zwrotki mailowe z formularzy](https://sugester.intum.com/kb/sugester-v2/automatyczne-zwrotki-mailowe-z-formularzy-szablony-Hjn4miei)

---

**Powiązane artykuły:**
- [Automatyczne zwrotki mailowe z formularzy (szablony)](https://sugester.intum.com/kb/sugester-v2/automatyczne-zwrotki-mailowe-z-formularzy-szablony-Hjn4miei)
- [Moduł Formularze](https://sugester.intum.com/kb/sugester-v2/modul-formularze-zbieranie-zgloszen-i-danych-8Uq2CEaj)