Form Oluşturma
Koşullu mantık
Mantık blokları, yanıtlayanın girdiği bilgilere tepki verir — herhangi bir bloğu gösterir veya gizler, sayfalara atlar, gönderimi engeller ya da değerleri hesaplar. Basit kuralları kod yazmadan karmaşık dallara yayılan yapılara dönüştür.
Mantık ne yapabilir
Her mantık bloğunun bir veya daha fazla kuralı vardır. Her kural, bir koşul grubunu (ne zaman çalışmalı?) bir veya daha fazla eylemle (ne olmalı?) eşleştirir. Dokuz eylem türü mevcuttur:
| Eylem | Ne yapar |
|---|---|
| Göster | Koşullar eşleştiğinde gizli bir bloğu — bir soru, paragraf, görsel veya seçenek — görünür kılar. |
| Gizle | Koşullar eşleştiğinde görünür bir bloğu — bir soru, paragraf, görsel veya seçenek — gizler. |
| Zorunlu yap | Belirli yollar için bir alanı dinamik olarak zorunlu kılar. |
| İsteğe bağlı yap | Koşullar eşleştiğinde zorunlu bir alandaki doğrulamayı gevşetir. |
| Sonraki sayfayı ayarla | Belirli bir sayfaya atlar — dallanma oluşturmanın yolu budur. |
| Değeri hesapla | Diğer yanıtlardan toplamlar, puanlar veya fiyatlandırma hesaplar. |
| Ödeme tutarını ayarla | Yanıtlara göre bir Ödeme alanının fiyatını ayarlar, artırır veya azaltır. |
| Sonraki sayfaya geçişi engelle | Nedenini açıklayan isteğe bağlı bir mesajla yanıtlayanın ilerlemesini durdurur. |
| Form gönderimini engelle | Koşullar karşılanana kadar gönderimi engeller (örn. şartlar kabul edilmeden), nedenini açıklayan isteğe bağlı bir mesajla. |
Mantık bloğu ekleme
Mantık bloğu bir belge öğesidir — bir başlık veya görsel gibi, tuval üzerinde sorular arasında bulunur. İstediğin yere yerleştirebilirsin: aynı sayfadaki iki alan arasına, sayfanın başına veya sayfa sonu öncesine.
- 1
Slash menüsünü aç
Tuvalde boş bir satıra tıkla ve / yaz. Blok seçici görünür.
- 2
"Logic" ara
Filtrelemek için logic yaz. Düzen kategorisinden Logic’i seç. İmleç konumunda yeni bir mantık bloğu belirir.
- 3
Kural ekle
Blok, Ne zaman … Yap … şeklinde okunur. Her kuralın bir koşul grubu ve bir veya daha fazla eylemi vardır.
- 4
Koşulları tanımla
Bir alan seç, bir işleç belirle ve bir değer gir. Başka bir koşul ekle ya da bir düzey daha derine yuvalamak için bir koşul kümesi ekle.
- 5
Eylemleri seç
Bir eylem türü seç (Göster, Gizle, Zorunlu yap, Sonraki sayfayı ayarla vb.) ve hedefi belirle — bir soru, blok, seçenek veya sayfa.
- 6
Daha fazla kural ekle (isteğe bağlı)
Tek bir mantık bloğu birden fazla kural içerebilir. Her kural bağımsızdır: kendi koşulları, kendi eylemleri.
Koşullar
Koşullar, bir kuralın Ne zaman tarafıdır. Her koşul bir alan seçer, bir işleç uygular ve çoğunlukla bir değerle karşılaştırır. Alan seçici, izleyebileceklerini gruplandırır: Sorular, Gizli Alanlar, Hesaplanan Alanlar ve Meta Veri (bugün için, yanıtlayanın dili).
Tümü mü Herhangi Biri mi
Bir kuralın iki veya daha fazla koşulu olduğunda, Ne zaman bölümünün üstünde bir geçiş belirir:
Tümü — kuralın çalışması için her koşulun doğru olması gerekir. Satırlar “ve” okunur.
Herhangi Biri — tek bir doğru koşul yeterlidir. Satırlar “veya” okunur.
Koşul setleri
Bir koşul seti ekle, ilkinin içine tek düzey derinliğinde, kendi Tümü/Herhangi Biri geçişine sahip ikinci bir grup yuvalar. Bu, “plan şuna eşit Pro ve (ülke şuna eşit Norveç veya ülke şuna eşit İsveç)” gibi bileşik mantığı kapsar. Bir set yalnızca koşul tutar — başka bir set tutamaz.
Gizli bir sorunun değeri yoktur
Mantık bir soruyu gizlerse, o sorunun halihazırda tutuyor olabileceği yanıt hiçbir şey ifade etmez — ne koşullarda, ne hesaplamalarda, ne ödeme tutarında ne de kaydedilen gönderimde. Yanıt, yalnızca soru tekrar görünür hale geldiğinde geri gelir. Aynısı gizli bir satır, sütun veya tekrarlayan grup içindeki her soru ve mantığın gizlediği seçili bir seçenek için de geçerlidir. Sonraki sayfayı ayarla kurallarının atladığı bir sayfa da gizli sayılır: oradaki sorular zorunlu değildir ve orada verilen yanıtlar atılır. Gizli alanlar bunun tam tersidir: değerlerini her zaman taşırlar.
Okunabilir tut
Tek bir mantık bloğu çok karmaşık görünüyorsa, mantığı birden fazla mantık bloğuna bölmeyi veya form sayfalarını yeniden yapılandırmayı düşün.
İşleçler referansı
İşleç listesi, seçtiğin alana göre belirlenir — yalnızca o alanın desteklediği işleçleri görürsün. Aşağıda her başlık, tam kümeyi adlandırır.
Metin (Metin Girişi, Metin Alanı ve metin hesaplanan alanları)
| İşleç | Açıklama |
|---|---|
| şuna eşit | Değer eşleşiyor; büyük/küçük harf ve baştaki ya da sondaki boşluklar dikkate alınmaz |
| şuna eşit değil | Değer eşleşmiyor |
| şunu içerir | Değer belirtilen metni içeriyor |
| şunu içermez | Değer belirtilen metni içermiyor |
| şununla başlar | Değer belirtilen metinle başlıyor |
| şununla biter | Değer belirtilen metinle bitiyor |
| boş | Alanın değeri yok |
| boş değil | Alanın herhangi bir değeri var |
Her metin karşılaştırması büyük/küçük harfi ve baştaki ve sondaki boşlukları yok sayar; yani x@Competitor.com,
@competitor.com ile biter.
Diğer metin benzeri girişler daha dar bir küme taşır, bu yüzden karşılaştırma ihtiyacına uyan türü seç:
| Alan | Sunduğu işleçler |
|---|---|
| E-posta | şunu içerir, şunu içermez, şuna eşit, şununla biter, boş, boş değil |
| Web Sitesi URL’si | şunu içerir, şunu içermez, şuna eşit, şununla başlar, şununla biter, boş, boş değil |
| Telefon Numarası | şuna eşit, şununla başlar, şunu içerir, boş, boş değil |
| Gizli alan (metin) | Yukarıdaki tam metin kümesi |
Sayısal (Sayı, Yıldız Değerlendirme, doğrusal ölçek, sayısal gizli ve hesaplanan alanlar)
| İşleç | Açıklama |
|---|---|
| şuna eşit | Değer tam eşleşiyor |
| şuna eşit değil | Değer eşleşmiyor |
| şundan büyük | Değer belirtilen sayının üzerinde |
| şundan küçük | Değer belirtilen sayının altında |
| şundan büyük veya eşit | Değer belirtilen sayıya eşit veya üzerinde |
| şundan küçük veya eşit | Değer belirtilen sayıya eşit veya altında |
| şu aralıkta | Değer bir aralık içinde (dahil) |
| boş | Alanın değeri yok |
| boş değil | Alanın herhangi bir değeri var |
Onay Kutuları ve görsel seçim
| İşleç | Açıklama |
|---|---|
| şunlardan herhangi birini işaretledi | Belirtilen seçeneklerden en az biri işaretlenmiş |
| şunlardan hiçbirini işaretlemedi | Belirtilen seçeneklerin hiçbiri işaretlenmemiş |
| şunların tümünü işaretledi | Belirtilen seçeneklerin tamamı işaretlenmiş |
| tam olarak şunu işaretledi | İşaretlenen seçenekler belirtilen kümeyle tam eşleşiyor |
| boş | Hiçbir seçenek seçilmemiş |
| boş değil | En az bir seçenek seçilmiş |
Açılır Menü ve Radyo Düğmeleri (tek seçim)
| İşleç | Açıklama |
|---|---|
| şuna eşit | Seçilen seçenek tam eşleşiyor |
| şuna eşit değil | Seçilen seçenek eşleşmiyor |
| boş | Hiçbir şey seçilmemiş |
| boş değil | Bir seçenek seçilmiş |
Geçiş Anahtarı (ve boolean hesaplanan alanlar)
| İşleç | Açıklama |
|---|---|
| açık | Geçiş açık konumda |
| kapalı | Geçiş kapalı konumda |
İmza
| İşleç | Açıklama |
|---|---|
| imzalandı | İmza çizilmiş |
| imzalanmadı | İmza çizilmemiş |
Dosya Yükleme
| İşleç | Açıklama |
|---|---|
| dosyası var | En az bir dosya yüklenmiş |
| dosyası yok | Hiçbir dosya yüklenmemiş |
Tarih Seçici ve Saat Seçici
| İşleç | Açıklama |
|---|---|
| şuna eşit | Tam eşleşme |
| şuna eşit değil | Eşleşmiyor |
| şundan önce | Belirtilen tarih/saatten önce |
| şundan sonra | Belirtilen tarih/saatten sonra |
| şu aralıkta | Bir tarih/saat aralığında |
| boş | Değer seçilmemiş |
| boş değil | Bir değer var |
Sıralama
| İşleç | Açıklama |
|---|---|
| seçenek ilk sırada | Belirtilen seçenek birinci sırada |
| seçenek son sırada | Belirtilen seçenek son sırada |
| seçenek şunun üstünde sıralanmış | Belirtilen seçenek başka bir seçeneğin üzerinde sıralanmış |
Matris / Izgara
| İşleç | Açıklama |
|---|---|
| satır yanıtı şudur | Belirli bir satır belirtilen yanıta sahip |
| satır yanıtı şu değildir | Belirli bir satır belirtilen yanıta sahip değil |
| satır yanıtlandı | Belirli bir satır yanıtlanmış |
| satır yanıtlanmadı | Belirli bir satır yanıtlanmamış |
Ödeme
| İşleç | Açıklama |
|---|---|
| tutar şuna eşit | Ödeme tutarı tam eşleşiyor |
| tutar şundan büyük | Ödeme tutarı belirtilen değerin üzerinde |
| tutar şundan küçük | Ödeme tutarı belirtilen değerin altında |
| tamamlandı | Ödeme başarıyla işlendi |
| tamamlanmadı | Ödeme henüz işlenmedi |
İzleyemeyeceğin alanlar
Randevu planlama ve Belgeler görünürlük hedefi olabilir ama asla koşul kaynağı olamaz. Bir rezervasyon, sıradan bir yanıt olarak değil gönderime bağlı olarak saklanır ve bir Belgeler bloğu hiçbir yanıt toplamaz. İkisini de göstermek veya gizlemek için daha önceki yeterlilik yanıtlarını kullan. Görünür her Randevu planlama sorusu gönderimden önce rezerve edilmelidir; gizli biri bunu engellemez. Bkz. Mantıkla Cal.com randevu planlama.
Hedefleme
Her eylemin bir hedefi olması gerekir — eylemin üzerinde çalıştığı şey. Hedef, eylem türüne göre değişir:
| Eylem türü | Hedef | Örnek |
|---|---|---|
| Göster / Gizle | Herhangi bir blok — bir soru, paragraf, görsel, düzen kapsayıcısı veya bir seçim alanı içindeki belirli bir seçenek | Bir seçenek seçildiğinde "İyi seçim!" paragrafını göster |
| Zorunlu yap / İsteğe bağlı yap | Bir soru | Yalnızca yüz yüze katılımcılar için "Diyet kısıtlamaları"nı zorunlu kıl |
| Sonraki sayfayı ayarla | Bir sayfa | Tekrar eden müşteriler için sayfa 5’e atla |
| Değeri hesapla | Hesaplanan bir alan | Üç Yıldız Değerlendirme puanını bir toplamda birleştir |
| Ödeme tutarını ayarla | Bir Ödeme alanı | "Hızlı teslimat" açıkken fiyatı 15 artır |
| Sonraki sayfaya geçişi engelle / Form gönderimini engelle | Hedef gerekmez (yalnızca mesaj) | Şartlar geçişi açılana kadar gönderimi engelle |
Göster ve Gizle soruların ötesine geçer. Varsayılan olarak gizlenmiş bir notu görünür kılmak ya da artık ilgili olmayan içeriği gizlemek için tuvaldeki herhangi bir bloğu — bir paragraf, başlık, görsel veya düzen kapsayıcısını — hedef al. Ayrıca yalnızca tüm soruyu değil, seçim alanı içindeki bireysel seçenekleri de hedef alabilirler. Önce bloğu blok menüsünden Gizle ile gizle, ardından onu görünür kılmak için bir kural yaz.
Birden fazla kural nasıl birleşir
Her kural bağımsızdır ve hepsi birlikte değerlendirilir. Kurallar, mantık blokları boyunca yukarıdan aşağıya, belge sırasına göre okunur. Bir hedefteki birden fazla kuralın nasıl birleşeceği eyleme bağlıdır.
| Eylem | Birden fazla kural nasıl birleşir |
|---|---|
| Göster / Gizle, Zorunlu yap / İsteğe bağlı yap | Yalnızca koşulları eşleşen bir kural hedefi talep eder, bu yüzden kurallar bir veya olarak üst üste eklenir: eşleşen herhangi bir kural bloğu gösteriyorsa blok gösterilir. Eşleşmeyen bir kural tersini uygular ama hiçbir şey talep etmez, bu yüzden sonraki eşleşen bir kural yine de kazanır. |
| Sonraki sayfayı ayarla | Bir atlama, yanıtlayan kuralın okuduğu soruların bulunduğu sayfada İleri'ye bastığında etkili olur, başka hiçbir sayfada değil. Orada etkili olan kurallar arasından eşleşen ilk kural kazanır. Yalnızca gizli veya hesaplanan alanları okuyan bir kural her sayfada etkili olur, ama yalnızca ileri atlar. |
| Değeri hesapla | Eşleşen her kural, sırayla, çalışan değer üzerinde çalışır. Hiçbir şey hiçbir şeyi talep etmez. |
| Ödeme tutarını ayarla | Yalnızca koşulları eşleşen bir "şuna ayarla" kuralı fiyatı talep eder, bu yüzden eşleşen ilk kural ona sahip olur ve birden çok "şuna ayarla" kuralı her kademeye ayrı fiyat verebilir. "şu kadar artır" ve "şu kadar azalt" asla talep etmez — çalışan tutar üzerinde sırayla üst üste eklenirler. |
| Hiçbir kural eşleşmez | Blok varsayılanına döner — varsayılan olarak gizliyse gizli, aksi hâlde görünür kalır. |
Bu sayede birden fazla kuralı aynı bloğa, çakışma olmadan yönlendirebilirsin. Bir geri bildirim formu, “Size nasıl yardımcı olabiliriz?” adlı dört seçenekli bir Radyo Düğmeleri sorusu içeriyor ve varsayılan olarak gizlenmiş bir “Sizi arayabilir miyiz?” e-posta alanı var. Dört kuralın her biri kendi seçeneği için aynı e-posta alanını (ve o seçeneğe özgü takip sorusunu) Göster yapıyor. E-posta alanı hangi seçenek seçilirse seçilsin görünür; yalnızca hiçbiri seçilmediğinde gizli kalır.
Çoğunlukla tek bir kural yeterlidir
Bir bloğu birkaç yanıt için göstermek için, Herhangi Biri ile her yanıt için bir koşul içeren tek bir kural — ya da hepsini kapsayan tek bir boş değil koşulu — dört kuraldan daha kolay okunur. Her seçeneğin kendine özgü bir takip sorusu da gerektirdiği durumlarda birden fazla kurala başvur.
Çakışan kurallar
İki kural aynı hedef üzerinde anlaşmazlığa düştüğünde — biri bir bloğu Göster yaparken diğeri Gizle ederse ya da biri bir alanı zorunlu kılarken diğeri isteğe bağlı yaparsa — ve her iki koşul da aynı anda eşleşirse, ilk kural kazanır. Geç kalan, kaybeden kural editörde şöyle işaretlenir: “Bu eylem hiçbir zaman uygulanmaz — hedefini daha önceki bir kural zaten kontrol ediyor. Kural sırası belirleyicidir: ilk kural kazanır.”
Sıralamanın bir istisnası var: koşulu bir hesaplanan alanı okuyan bir kural, belge sırası ne olursa olsun, onu yazan kuraldan sonra çalışır, böylece bir puan her zaman ona dayanan herhangi bir dallanmadan önce hesaplanır. Birbirinin hesaplanan alanlarını döngü içinde yazan kurallar, zinciri adlandıran bir yayınlama uyarısı yükseltir — değerlerin öngörülebilir şekilde hesaplanması için döngüyü kır.
Gizli olan, zorunlunun önüne geçer
Sonunda gizli kalan bir soru asla zorunlu değildir — ister bir kuralla gizlenmiş olsun, ister onu görünür kılacak hiçbir kural olmadan blok menüsünden gizlenmiş olsun. Yıldız işareti kaybolur ve gönderim engellenmez — aksi hâlde bir yanıtlayan, göremediği bir alan yüzünden formdan kilitlenebilirdi.
Yaygın kalıplar
Önceki yanıta göre takip sorusu gösterme
Bir memnuniyet anketi “Deneyiminizi nasıl değerlendirirsiniz?” sorusunu 1-5 Yıldız Değerlendirme ile soruyor. Altındaki mantık bloğu “rating şundan küçük veya eşit 3” koşulunu kullanarak “Neyi iyileştirebiliriz?” soran bir Metin Alanı alanını Göster eylemiyle hedef alıyor. 4 veya 5 puan veren yanıtlayanlar takip sorusunu hiç görmüyor.
Bir seçenek seçildiğinde mesaj gösterme
Bir kayıt formunda şu Radyo Düğmeleri sorusu var: “Hangi plan sana en uygun?” Altında bir paragraf bulunuyor — “İyi seçim! Pro planımız öncelikli desteği içerir.” — blok menüsündeki Gizle ile varsayılan olarak gizlenmiş. Bir mantık bloğu onu görünür kılıyor: plan şuna eşit “Pro” ise paragrafı Göster. Bu teşvik edici not yalnızca Pro seçenler için görünür, diğer herkes için gizli kalır.
Seçime göre farklı sayfalara dallanma
Bir etkinlik kayıt formu şu Radyo Düğmeleri sorusuna sahip: “Yüz yüze mi yoksa uzaktan mı katılıyorsunuz?” Ardından iki mantık bloğu geliyor:
Kural 1 — koşul: katılım şuna eşit “Yüz yüze”, eylem: Sonraki sayfayı ayarla “Mekan detayları”.
Kural 2 — koşul: katılım şuna eşit “Uzaktan”, eylem: Sonraki sayfayı ayarla “Yayın kurulumu”.
Kural 3 — koşul: varış saati boş değil, eylem: Sonraki sayfayı ayarla “Onay”. Varış saati, “Mekan detayları” sayfasındaki zorunlu bir sorudur.
Kural 1 ve 2 katılım sorusunu okur, bu yüzden yanıtlayan o sayfadan ayrıldığında etkili olurlar. Bundan sonra İleri, sayfa sırasında ilerler. Kural 3, “Mekan detayları” sayfasındaki bir soruyu okur, bu yüzden yanıtlayan o sayfadan ayrıldığında etkili olur. Yüz yüze katılanlar böylece “Yayın kurulumu”nu atlar. Her yol yalnızca ilgili bilgileri toplar, ardından her ikisi de ortak bir “Onay” sayfasında birleşir.
Puan hesaplama ve buna göre dallanma
Bir potansiyel müşteri değerlendirme formu üç Yıldız Değerlendirme sorusuna sahip: bütçe, zaman çizelgesi ve yetki. “Müşteri puanı” adlı hesaplanan alan, Değeri hesapla eylemiyle her derecelendirmenin değerini toplayan bir mantık bloğu kullanıyor. İkinci bir mantık bloğu hesaplanan alanı okuyor: Müşteri puanı şundan büyük 12 ise Sonraki sayfayı ayarla “Öncelikli takip”; aksi hâlde standart onay sayfasına atla.
Gizli alan değerine tepki verme
URL, plan adlı gizli bir alanı dolduruyor (örn. ?plan=enterprise). Bir mantık bloğu şunu kontrol ediyor:
plan şuna eşit “enterprise” ise “Özel hesap yöneticisi” sorusunu Göster ve “Şirket büyüklüğü” alanını
Zorunlu yap. Ücretsiz katman yanıtlayanları bu soruları hiç görmüyor.
Hesaplanan toplama göre gönderimi kısıtlama
Bir sipariş formu anlık toplam hesaplıyor. Mantık bloğu şu koşulu kullanıyor: Sipariş toplamı şundan küçük 10 ise Form gönderimini engelle. Minimum sipariş eşiği karşılanana kadar yanıtlayan gönderemiyor.
Bir engelleme kuralı etkinken düğme kullanılamaz görünür ve yanıtlayana nedeni söylenir. Hangi yanıtı değiştireceklerini bilmeleri için nedeni eylem satırındaki Katılımcıya gösterilen mesaj alanına yaz — örneğin “Siparişiniz en az 10 olmalıdır”. Boş bırakırsan form “Bu form, mevcut yanıtlarla gönderilemez.” mesajına döner (bir gezinme bloğu için “Mevcut yanıtlarla bir sonraki sayfaya devam edemezsiniz.”). Birden fazla engelleme kuralı aynı anda tetiklendiğinde, mesaj taşıyan ilk kural metni sağlar.
Mantığı Önizleme ile test et
Kurallarını ayarladıktan sonra üst araç çubuğundaki Önizle moduna geç ve formu bir yanıtlayan gibi doldur. Mantık, Önizleme’de gerçek zamanlı çalışır; böylece yayınlamadan önce her dalı, gizli alanı ve doğrulama kapısını doğrulayabilirsin.