WebBlocks Forms ile Özel Formlar Oluşturun
Formunuzu ziyaretçilerinizin gerçekten yanıtlaması gereken sorulara göre kurun. WebBlocks Forms ile alanları, doğrulamayı, adımları ve koşullu soruları seçer, sonuçları kendi CMS'inizde toplarsınız. Yerel Form bloğu formu sayfaya yerleştirir; gönderimler eklentinin gelen kutusunda tutulur.
Örneğimiz Northstar Studio ve Project enquiry formudur. İlk adım kimin yazdığını ve düşündüğü proje türünü sorar. Website project seçilince zorunlu web sitesi sorusu açılır. İkinci adım proje özeti, isteğe bağlı bütçe ve dosya ile bir kabul alanını toplar. Ziyaretçi olarak gönderecek, kayıtlı yanıtları okuyacak, özel dosyayı indirecek, başvuruyu yanıtlandı olarak işaretleyip CSV alacaksınız.
Bu anlatım, yayınlanmış Forms 0.10.5 arşivi ve WebBlocks CMS 1.105.26 ile İngilizce, açık tema ve kurgusal Northstar Studio verileri kullanılarak kontrol edildi. Test edilen ZIP kurulumunun gerektirdiği açık host servis sağlayıcı entegrasyonunu içerir. Yerel bildirim ve ziyaretçi kopyası sonuçları özellikle Not configured gösterir: gerçek posta teslimatı, harici webhook ve Campaigns aboneliği test edilmedi. Ziyaretçi akışı, koşullu filtreleme, iki adım, özel indirme, durumlar, CSV ve Contact Form içe aktarması yerel ortamda uygulandı. Görseller İngilizcedir; ekranlarla eşleşmesi için alan ve düğme adları İngilizce korunmuştur.
Forms veya yerleşik Contact Form seçimi
| Seçim | Ne zaman uygun? | Sonuçların yeri |
|---|---|---|
| Yerel Contact Form | Standart ad, e-posta, konu ve mesaj alanları gerekiyorsa. | Contact Messages. |
| WebBlocks Forms | Özel alan, seçenek, adım, koşul veya ek gerekiyorsa. | Forms → Submissions. |
Forms, yerel Contact Form'un yerini almaz. İkisini birlikte kullanabilirsiniz; gelen kutuları ayrıdır. Contact Form içe aktarması yeni eklenti formu oluşturur; eski mesajları taşımaz veya mevcut bloğu sizin yerinize değiştirmez.
Form bir siteye aittir. Alanları, işleme ayarları ve teslimat eylemleri formda; handle değeri sayfa bloğunda tutulur. Aynı formu birkaç sayfaya yerleştirmek aynı tanımı kullanır. Alan düzenlemesi bütün yerleşimleri değiştirir; her sayfa için ayrı form oluşturmaz.
Paket ayrıntıları ve geliştirici sözleşmeleri için Forms başvurusuna, daha basit yerel alternatif için İletişim Formu Ekleyin ve Mesajları Okuyun rehberine bakın.
Başlamadan önce
Test sitesi, taslak sayfa ve kurulum için Super admin hesabı hazırlayın. Forms 0.10.5, CMS ^1.92.1 ve PHP >=8.3 gerektirir; katalog PHP ^8.3 ve Laravel ^13.0 uyumluluğu listeler. Sonucu gerçek host ve CMS gereksinimleriyle kontrol edin. Paket, PHP JSON ve ZIP uzantılarını gerektirir.
Eklenti beş izni ayırır: form görüntüleme, form yönetme, gönderim yönetme, gönderim dışa aktarma ve Form Settings değiştirme. Form oluşturmak gelen kutusu veya aktarımlara otomatik erişim sağlamaz. Operatöre gereken izinleri ve site erişimini verin; rolü Roller ve İzinler ile inceleyin.
Sağlayıcı adımı, özel dosya depolama, posta taşıması ve saklama zamanlaması için hosting yöneticisi hazır olsun. Düzenleyiciyi yerel postayla öğrenebilirsiniz; e-posta yanıtı vaat etmeden gerçek teslimatı test edin. O testte aşağıdaki kurgusal adresler yerine denetlediğiniz kutuları kullanın.
Eklenti WebBlocks eklenti kataloğunda ücretsizdir. Bu başvuru için Commerce, Appointments, Memberships veya Campaigns gerekmez. Forms bir bütçe yanıtını ödeme veya randevuya dönüştürmez.
1. Forms'u kurun ve host entegrasyonunu tamamlayın
- Super admin olarak giriş yapıp System → Plugins bölümünü açın.
- Browse Plugin Catalog, ardından WebBlocks Forms seçin.
- Sunulan sürümü, uyumluluk sonucunu ve sürüm notlarını inceleyin.
- Uyumlu sürüm için Install from Catalog, ayrıntılarında Enable Plugin seçin.
- Yönetici güvenilir sürüm ZIP'i sağlarsa Plugin ZIP → Upload Plugin ZIP yolunu kullanın, inceleyip etkinleştirin.
Yeni paketler devre dışı başlar. Güncel CMS kurulum ve etkinleştirmesi eklenti veritabanı değişikliklerini hazırlar. Plugin migrations pending görünürse ayrıntıları açın, kurulumu düzeltip tabloları doğrulayın. Katalog veya ZIP panel yolu için kaynak derlemeniz gerekmez.
Kenar çubuğuna Forms altında Forms, Submissions, Import Contact Form ve Settings gelir. Site seçicilerinde Northstar Studio'yu veya hedef sitenizi seçin. Sağlıklı tablo kontrolü, ziyaretçi gönderiminin, giden postanın veya arka plan saklama görevinin çalıştığını kanıtlamaz.
Test edilen ZIP kurulumu için hosting adımı
Test edilen Forms 0.10.5 / CMS 1.105.26 ZIP kurulumunda düzenleyici ve blok kullanılabiliyordu, ancak servis sağlayıcı otomatik başlatılmıyordu. Adlandırılmış hız sınırlayıcı kaydedilmediğinden ziyaretçi gönderimi hata verdi. Rehberin çalışan çekim ortamı, etkin eklenti sağlayıcısını açıkça kaydeder; bu kurulumun bir parçasıdır, yalnızca görsel için yapılan değişiklik değildir.
Hosting yöneticisinden şu kodu host uygulamasının App\Providers\AppServiceProvider sınıfındaki mevcut boot() metodunun içine eklemesini isteyin. Mevcut başlatma mantığını koruyun. Kayıt denetimi, sağlayıcının yalnızca Forms etkinken eklenmesini sağlar:
$this->app->booted(function (): void {
$registry = $this->app->make(
\WebBlocks\Cms\Support\Plugins\PluginRegistry::class
);
if ($registry->isActive('webblocks-forms')) {
$provider = $registry->get('webblocks-forms')?->providerClass();
if ($provider !== null && class_exists($provider)) {
$this->app->register($provider);
}
}
});
Yönetici eski host yapılandırmasını php artisan optimize:clear ile temizlemeli ve gerekirse uzun süre çalışan uygulama işçilerini yeniden başlatmalıdır. Ardından gerçek ziyaretçi gönderimi test edin. Bu, yükleme ilkesi ve gönderim zamanlaması dahil Forms yapılandırmasını da yükler. Sağlayıcıyı zaten doğru başlatan yeni host sürümünde gereksiz ikinci entegrasyon eklemeden davranışı doğrulayın. Hata veren form çalışıyor görünsün diye hız sınırlayıcıyı kaldırmayın.
2. Sitenin Form Settings ayarlarını inceleyin
Hedef sitede Forms → Settings açın. Örnekte:
| Ayar | Örnek | Anlam |
|---|---|---|
| Default notification recipient | hello@example.test | Formda açık alıcı yoksa kullanılan kurgusal stüdyo kutusu. |
| Store submissions in the CMS | Açık | İnceleyin; formun kendisinde de depolamayı açıkça etkinleştirin. |
| Delete submissions after (days) | Boş | Örnekte site düzeyinde saklama süresi yok. |
| Maximum upload size (KB) | 2048 | Kurulum üst sınırıyla ayrıca sınırlanan site dosya boyutu. |
Save seçin. Boş bildirim alıcısı geçerlidir: sıra, formun Send notifications to alanı, bu varsayılan, sitenin Contact alıcısı, CONTACT_RECIPIENT_EMAIL ve son olarak yapılandırılmış göndericidir. İstenmeyen son yedeğe güvenmek yerine gerçek işletme hedefini bilinçli belirleyin.
Test edilen sürüm depolama ve saklama kararlarını her formdan okur. Benzer site varsayılanlarını değiştirmenin mevcut formu güncellediğini veya silme ilkesini kurduğunu varsaymayın. Formun kendi Handling bölümünde bu değerleri ayarlayıp doğrulayın. Alıcı yedek zinciri ve site yükleme sınırı örneğe uygulanır.
3. Formu oluşturun ve işlenişini seçin
Forms → Forms → Add form açın. Name için Project enquiry, Handle için northstar-project-enquiry girin. Accepting submissions seçili kalsın.
Handle küçük harfli kelimeleri tek tireyle ayırır. Sayfa blokları bunu saklar; yerleştirmeden önce seçin. Ad değiştirmek handle değiştirmekten farklıdır: yeni handle, bloklar güncellenene kadar mevcut yerleşimleri koparır. Çok sitede kurulum genelinde ayrı handle kullanıp her sitenin gönderim hedefini test edin; bu sürümün ziyaretçi gönderim araması handle ile çözümlenir.
Handling altında Store submissions in the CMS açık, Store the submitter's IP address kapalı ve Delete submissions after (days) alıştırma için boş kalsın. Submits per minute, per visitor değerini 5 yapın. Redirect after submit boş kalsın; sonucu aynı sayfada görün.
Save seçin. Bu akışta depolama gereklidir: kapatılırsa bu sürümde gelen kutusu kaydı ve gönderim sonrası eylemler oluşmaz. Bu, yalnızca e-posta gönderen form yapmanın desteklenen yolu değildir. IP toplama, isteği değerlendiren geçici yerel koruma sinyallerinden ayrıdır.
Düşük gönderim limiti kurulum üst sınırını daraltır; yüksek değer onu artıramaz. Ziyaretçi ve form başına sayılır. Başarı yönlendirmesi /thank-you gibi tek eğik çizgiyle başlayan aynı site yolu olmalıdır; kullanmadan hedefi hazırlayıp test edin. Rehberi doğrularken boş bırakın.
4. Bildirim ve ziyaretçi kopyasını ayarlayın
Form düzenleyicisinde Notification bulun. Email me when a submission arrives açık, Send notifications to boş kalsın; sitenin yedek alıcısı kullanılır. Açık alıcıyı yalnızca form farklı gelen kutusuna aitse girin.
Örnekte Reply to sender altında Send the visitor a copy of what they submitted seçin. Visitors reply to alanına takip edilen gerçek stüdyo adresini yazın; görsel studio@example.test kullanır. Boşsa reply-to başlığı eklenmez. Save seçin.
Ziyaretçi kopyası, geçerli gönderilmiş adres içeren Email address türünü gerektirir. Yalnızca “Email” etiketli metin alanı eşdeğer değildir. Bu formda tek ve açık e-posta alanı tutun. İşletme ve ziyaretçi sonuçları bağımsız izlenir; gerçek kutu teslimatı test edilmeden kanıt sayılmaz.
Normal akışı öğrenirken Webhooks ve Mailing list kapalı kalsın. Bunlar isteğe bağlı eylemlerdir; kayıt toplamak için ön koşul değildir. Gelen kutusu testinden sonra döneceğiz.
5. Sekiz örnek alanı ekleyin
Form kaydedilince Fields bölümünde Add field sunulur. Aşağıdaki kayıtları ekleyin. Aynı Step numarası aynı sayfada görünür; adım içindeki sırayı Up ve Down ile değiştirin.
| Etiket | Tür | Key | Step | Zorunlu |
|---|---|---|---|---|
| Your name | Single-line text | full_name | 1 | Evet |
| Email address | Email address | 1 | Evet | |
| Project type | Dropdown | project_type | 1 | Evet |
| Current website | Single-line text | current_website | 1 | Evet; yalnızca koşul eşleşirse |
| Tell us about your project | Paragraph | brief | 2 | Evet |
| Indicative budget (EUR) | Number | budget | 2 | Hayır |
| Attach a short brief | File upload | brief_file | 2 | Hayır |
| I agree that Northstar Studio may use these details to respond to my project enquiry. | Consent | enquiry_consent | 2 | Evet |
Your name için Single-line text seçin, Key alanına full_name girin, Required seçip Step değerini 1 yapın. Validation altında Minimum 2, Maximum 100 kullanın. Copy → EN English altında Label Your name, Help text How should we address you? olsun. Alanı kaydedin.
Anahtarlar harfle başlayan küçük harf, rakam ve alt çizgi kullanır. Etiketler ziyaretçi metnidir; anahtarlar depolama, koşul ve entegrasyonda yanıtı tanımlar. Formun gönderimleri oluşunca mevcut alan anahtarları kilitlenir. Sonradan değişecek etiketler gibi davranmak yerine şimdi sabit anahtar seçin.
Düzenleyici birçok türün ayarını birlikte gösterir. Yalnızca uygulanabilir doğrulama etkilidir. Minimum/Maximum, metin ve Paragraph için karakter uzunluğu, Number için sayısal değer; dosyada Maximum KB boyutudur. Özette 20–2000 karakter; isteğe bağlı bütçede 500–50000 kullanın. Bütçe başvuru yanıtıdır; fiyat veya tahsilat değildir.
Diğer türler Phone number, Radio buttons, Checkboxes, Date ve Hidden value içerir. Radio tek, Checkboxes birden çok seçenek tutar. Gizli alanlar izin, ödeme durumu veya ziyaretçinin denetlememesi gereken kararlar için güvenilir yer değildir.
6. Seçenek değerleriyle görünen etiketleri ayırın
Project type için Dropdown, project_type anahtarı, zorunlu ve Step 1 seçin. Options alanına satır başına sabit değer yazın:
branding
website
other
Copy → EN English altında Label Project type, Help text Choose the closest match., Option labels ise aynı sırayla şöyle olsun:
Brand identity
Website project
Something else
Kaydedin. Ziyaretçi Website project görürken gönderilen değer website olur. Koşullar çevrilmiş etiketi değil kayıtlı değeri karşılaştırır. Diğerini kontrol etmeden tek metin kutusunu yeniden sıralamayın; kayıtta etiketler konuma göre eşlenir. Boş etiket satırı kayıtlı değere döner.
Etkin her dilde Label, Placeholder, Help text, Error message ve Option labels bulunur. Varsayılan etiketi doldurup gerçekten sunduğunuz diğer dilleri inceleyin. Yalnız CMS sayfasını çevirmek eklenti alan kayıtlarını çevirmez. Error message birden çok doğrulama hatasını değiştirebilir; hem geçersiz değer hem eksik zorunlu yanıt için yardımcı metin yazın.
7. Current website alanını koşullu yapın
Current website alanını current_website anahtarlı, Step 1, Maximum 255 ve zorunlu Single-line text olarak oluşturun. Kaydedin, gerekirse yeniden açıp When to show this field bulun:
- Depends on için project_type seçin.
- Condition için is seçin.
- Value için website girin.
- İngilizce Help text: Your existing address, or write Not launched yet.
- Save seçin.
Denetleyen alan aynı adımda olmalıdır. Önce onu oluşturun; seçmeden bağımlı alanın o adımda olduğundan emin olun. Diğer karşılaştırmalar is not, has any answer ve has no answer içerir; son ikisi Value kullanmaz. Döngüsel bağımlılıklardan kaçının; adım veya seçenek değiştirince bütün dalları test edin.
JavaScript ile Website project soruyu açıp zorunluluğu geri yükler; diğer seçenekler gizler. Sunucu koşulu tekrar denetler: fazladan değer gönderilse bile sorulmayan alan doğrulanmaz veya kaydedilmez. JavaScript kapalıyken bütün sorular görünür; koşul sunucuda yanlış olsa da tarayıcı zorunlu koşullu alana yanıt isteyebilir. “Not applicable” gibi kullanılabilir yedek sağlayıp test edin; sunucu sorulmayan yanıtı yine atar. Bu yedek, normal geliştirilmiş formun yanında anonim ziyaretçiyle de test edildi.
Bu bir Single-line text alanıdır, otomatik web sitesi araması değildir. Maximum uzunluğu sınırlar; sitenin varlığını doğrulamaz. Örnek özellikle Not launched yet yanıtına izin verir.
8. Özel dosya eki ve kabul sorusu ekleyin
Attach a short brief için File upload, brief_file anahtarı, Step 2, zorunlu kapalı seçin. Maximum 2048, Minimum boş olsun. İngilizce Help text ile dosya ve boyutu açıklayıp kaydedin.
Etkin üst sınır kurulum, site Form Settings ve bu alanın en küçük pozitif sınırıdır. Test edilen kurulum 10240 KB; site ve alan 2048 KB'ye daraltır. PHP ve web sunucusu daha düşük istek/yükleme sınırı koyabilir. Büyük dosya form yararlı hata döndürmeden başarısızsa yönetici bu sınırları incelemelidir.
İzinli uzantılar kurulumun Forms yapılandırmasından gelir; panelde Options kutusu dosya listesi tanımlamaz. Varsayılan ilke yaygın belgeleri, görselleri ve ZIP'i destekler; sunucu içerik türünü denetler. Küçük northstar-brief.txt yalnız kurgusal metindir. Ekler açık Media Library yerine özel eklenti depolamasını kullanır; yetkili ve kısa ömürlü bağlantılarla indirilir.
Son Consent alanını enquiry_consent, Step 2, Required açık ve alan tablosundaki örnek kabul metni Label olacak biçimde ekleyin. Consent, kabul edilen ifadeyi gönderim anlık görüntüsünde tutar; genel Checkboxes aynı kayıt değildir. Gerçek amaca uygun metin kullanıp ilgili bilgiyi göndermeden önce sayfada sunun. Bu başvuru kabulü bülten aboneliği değildir.
9. Yerel Form bloğunu taslak sayfaya yerleştirin
Aynı sitede Start a studio project gibi taslak oluşturun. Normal sayfa bloklarıyla başlık ve kısa açıklama ekleyin. Örnek açıklamamız: Tell us what you have in mind. We review enquiries before arranging any work.
Main slotunda Add Block → Form seçin. Block Fields açıp Form içinde Project enquiry seçin, Save Block kullanın. Kaydedilmiş sayfanın Preview görünümünü açın.
Blok etkin formu handle ile seçer. Eksik, devre dışı, seçilmemiş veya alansız form gösterilmez. Seçici boşsa sayfa sitesini ve formun gönderim kabulünü kontrol edin.
Bu sürümde yeni form için genel başlık/açıklama/düğme/başarı metni paneli yoktur. Bu yüzden örnek, başlık ve açıklamada sayfa bloklarını; Send ve Thank you. Your message has been received. varsayılanlarını kullanır. Contact Form metin alanlarını bu eklenti bloğunda aramayın. İçe aktarılmış Contact Form metinleri içe aktarıcı tarafından ayrıca korunur.
Anlık blok önizlemesi eklenti formlarını desteklemez; kaydedip sayfa önizlemesini kullanın. Kaydedilmiş önizlemeden göndermek de gerçek gönderim oluşturur. Test sitesinde kurgusal veri kullanın. Aynı formu tek sayfada iki kez yerleştirmekten kaçının: alan kimlikleri ve çok adımlı oturum ilerlemesi her yerleşime değil forma bağlıdır.
10. Ziyaretçi olarak iki adımı tamamlayın
Kaydedilmiş önizlemeyi veya incelenmiş yerel başvuru sayfasını açın. İlk ekran Step 1 of 2 der; Your name, Email address ve Project type sorar. Current website başlangıçta gizlidir.
Example visitor, visitor@example.test girip Website project seçin. Current website görünür. Not launched yet veya teste uygun kurgusal adres yazın.
Continue seçin. İkinci ekran Step 2 of 2 der. Henüz gönderim kaydı yoktur; önceki yanıtlar son adıma kadar oturumda tutulur. Formu bırakmak tamamlanmış başvuru değildir. Adımlar için çerez/oturum sürekliliği çalışmalıdır.
En az 20 karakterli özet girin; örneğin We are planning a small website for a neighbourhood craft workshop and would like to discuss the structure. İsteğe bağlı bütçede 2500, küçük kurgusal dosya ve kabul seçimini kullanın. Back önceki adıma döner; dalı değiştirince yanıtları tekrar inceleyin.
Send bir kez seçin. Normal başarı sonucu formun yerini alır:
Normal insan temposunda test edin. Her adım yeni zaman kontrolü taşır; aşırı hızlı otomatik istek kayıt oluşturmadan aynı başarı yoluna gidebilir. Başarı mesajı kayıt veya e-posta kanıtınız değildir. Gelen kutusunda tam başvuruyu bulun.
Ziyaretçiye açmadan önce web sitesi olmayan dalı, eksik zorunlu yanıtı, aralık dışı bütçeyi ve desteklenmeyen/büyük dosyayı da test edin. JavaScript kapalıyken aynı sunucu adımlarını tamamlayıp yanlış koşul dalının yanıtının kaydedilmediğini doğrulayın.
11. Gönderimi okuyup durumunu yönetin
Hedef sitede Forms → Submissions açın. Form içinde Project enquiry, sonra Apply seçin. Search yanıt metnini bulur, Status listeyi daraltır. Reset filtreleri kaldırır. Liste alınma zamanı, form, durum ve bildirim sonucunu gösterir.
Open seçin. New kayıt açılınca Read olur. Ayrıntılar, ziyaretçinin gönderdiği anda kaydedilen etiketlerle yanıtları ve Attachments gösterir. Seçenek yanıtı görünen etiket yerine website gibi kayıtlı değer olabilir. Consent, metniyle kayıtlı kabulü gösterir.
Download ile eki alın. Bağlantı, kısa ömürlü imzanın yanında oturum açmış operatör erişimi ve gönderim izni ister. Süresi biterse ayrıntıyı yeniden açıp yeni bağlantı alın. Özel indirme bağlantısını açık sayfaya koymayın veya tam URL görselini paylaşmayın.
| Durum | Kullanım |
|---|---|
| New | Henüz açılmamış gelen iş. |
| Read | Açılmış; yanıtlanmış olmak zorunda değil. |
| Replied | Olağan kanalınızdan gerçekten yanıtladıktan sonra işaretleyin. |
| Archived | Dosyalanmış; spam filtresini eğitmez. |
| Quarantined | İnceleme için tutulur; eylemler bastırılmıştır. |
| Spam | İstenmeyen olarak tutulur; eylemler bastırılmıştır. |
Kurgusal başvuruyu yanıtladıktan sonra Replied, Save seçin. Bu durum değişikliğidir; yanıt yazma aracı değildir ve müşteriye mesaj göndermez. Gönderimi silmek kalıcıdır. Bilinçli silmeden önce gereken materyali indirip saklama sürecinizi izleyin.
12. Her teslimat sonucunu doğrulayın
Ayrıntıda Delivery bulun. Örnekte ayrı Notification ve Reply to sender sonuçları vardır. Mailing list: Skipped kapalı isteğe bağlı eylemi gösterir. Kaynak sayfa yanıtlardan ayrı görünür.
| Sonuç | Anlam |
|---|---|
| Sent | Taşıma kabul etti; gelen kutusuna ulaşma veya okunma kanıtı değil. |
| Failed | Deneme başarısız; ayrıntıdan hedefi veya taşımayı düzeltin. |
| Skipped | Örneğin kapalı olduğu için bilinçli uygulanmadı. |
| Not configured | Gereken kurulum/girdi yok; yerel log posta gerçek teslimat değildir. |
| Deneme listelenmiyor | Bu kayıt için denenmedi; depolama, koruma kararı ve eylemleri kontrol edin. |
Depolama eylemlerden önce tamamlanır. Hatalı alıcı veya posta hatası başvuruyu geri çekmez. İşletme ve ziyaretçi sonuçları farklı olabilir. Yayından önce gerçek CMS giden postayı ve göndericiyi yapılandırın, denetlenen kutularla iki mesajı test edin. Durumu veya ayarı düzeltmek ilk teslimatı otomatik tekrar etmez; bu sürüm ayrıntısında yeniden gönderme yoktur.
Local protection · last 30 days toplamları seçili sitedeki checked, allowed, quarantined ve spam kararlarını özetler. Şüpheli gönderimler tutulabilirken posta, ziyaretçi kopyası, webhook ve Campaigns eylemleri bastırılır. Gerçek kötüye kullanımı Spam yapın; yanlış pozitifi New, Read veya Replied'a döndürmek düzeltici geri bildirim kaydeder. Durum geri alınınca bastırılmış eylemlerin yeniden çalıştığını varsaymayın.
13. Seçilen formu CSV olarak aktarın
Submissions'a dönün, Project enquiry, istenen Status/Search filtresi ve Apply seçin. Ardından Export CSV kullanın. Ayrı rol iznidir ve bir form seçilmelidir; All forms ortak sütun kümesi tanımlamaz.
Aktarım mevcut filtrenin kayıtlarını, kimliğini, zamanını, durumunu ve yanıtlarını içerir. Ek sütunları dosya adıdır; dosya baytlarını veya kalıcı açık indirme bağlantılarını paketlemez. Gereken dosyayı yetkili ayrıntı ekranından indirin.
Başlıklar ilk aktarılan kaydın anlık görüntüsünden gelir; sonraki satırlar sabit alan anahtarına göre hizalanır. Alan kümesi zamanla çok değiştiyse sütunları kontrol edin: ilk görüntüde olmayan yeni alan başlığa otomatik eklenmez. Dosya, hesap tablolarıyla uyum için BOM'lu UTF-8 kullanır.
İndirilen CSV'yi CMS erişim kontrolünden çıkmış kopya olarak değerlendirin. Özellikle güvenilmeyen yanıt metninde hesap tablosunun güvenli içe aktarma yoluyla açın. Güvenmeden önce satır sayısını, bilinen yanıtı ve dosya adını kutuyla karşılaştırın.
14. Mevcut yerel Contact Form'u içe aktarın
Yerel Contact Form varsa aynı sitede Forms → Import Contact Form açın. Sayfayı bulup bir kez Import seçin. Taslak bloklar da dahildir; görselde taslak örneği vardır.
İçe aktarıcı dört soruyu, mevcut dil metinlerini, başlık/açıklama/düğme/başarı metnini, kabul ifadesini ve bildirimi yeni eklenti formuna kopyalar. Notları okuyun. Devralınan alıcı devralınır; kapalı bildirim kapalı kalır. Eksik kabul metni varsayılan dilden doldurulabilir; inceleyin. Eski blokta depolama kapalı olsa bile içe aktarılan form kayıt tutar.
Eski blok değişmez ve çalışmayı sürdürür. Contact Messages kendi kutusunda kalır. Formun alan, metin, kabul ve teslimatını inceleyip hazır olduğunuzda taslak veya hazırlanmış güncellemede sayfa bloğunu değiştirin. İçe aktarma tek başına canlı sayfayı değiştirmez. Tekrarlamak ilk kopyayı güncellemek yerine başka form oluşturur.
15. İsteğe bağlı entegrasyonları bilinçli ekleyin
Harici sistem için Webhooks bölümünde Endpoint URL ekleyin, özel Signing secret yapılandırın, etkinleştirip kaydedin. Alıcı, eklentinin imzalı JSON sözleşmesini anlamalıdır. Kontrol ettiğiniz açık HTTPS hedefini kullanın; özel ağ ve güvensiz HTTP varsayılan olarak engellenir. Sırları sayfa metni, görsel ve paylaşılan notlardan uzak tutun.
Form birkaç webhook taşıyabilir. Mevcut URL'yi temizlemek eylemi kaldırır, geçmiş teslimatları korur. Mevcut eylemde boş sır alanı kayıtlı sırrı korur. Eylem ve alıcı sistem sonuçlarını inceleyin; URL kaydetmek başarılı entegrasyon testi değildir. Rehber harici uç noktaya göndermez.
Bülten için uyumlu WebBlocks Campaigns kurup etkinleştirin, posta/listeyi hazırlayıp Mailing list → Offer a newsletter subscription kullanın. Kullanılabilir e-posta ve kabul edilmiş Consent metni gerekir. Hangi kabulü kullanacağını inceleyin; bu örneğin başvuru kabulü pazarlama istemez. Örneği değiştirmeden etkinleştirmek yerine açık bülten metinli özel form kullanın.
Belirli Campaigns listesinde List id girin; site varsayılanı için boş bırakın. İsteğe bağlı ad eşlemeleri alan anahtarını kullanır. Campaigns onay e-postası yollar ve ziyaretçi onayı ister; eylem çift onayı atlamaz. Campaigns yok veya kapalıysa başvuru çalışabilir, eylem Not configured gösterir. Gerçek onay akışı test edilmeden abonelik iddiasında bulunmayın.
16. Formu ve saklama ilkesini sürdürün
Durdurmak için Accepting submissions kaldırın. Yerleşimler form göstermeyeceğinden planlı duraklamada yararlı alternatif sunun. Gönderimli formu silmek geçmişi koruyarak devre dışı bırakır; kayıtsız form silinebilir.
Etiket, tür ve sıra gelecekte değişebilir; eski gönderimler anlık görüntülerini korur. Alanı silmek eski yanıtları yok etmeden sormayı bırakır. Gönderimden sonra mevcut anahtarlar sabittir. Yapısal değişiklikten sonra koşulları, sütunları ve bütün sayfa dillerini tekrar test edin.
Delete submissions after (days) değerini gerçek süreyi belirleyince formda ayarlayın. Varsayılan süre yoktur. Yönetici önce silmeyi önizlemelidir:
php artisan webblocks-forms:prune-submissions --dry-run
Sonucu inceleyince gerçek komutu host zamanlayıcısı veya cron ile zamanlayın:
php artisan webblocks-forms:prune-submissions
Laravel zamanlayıcısının çalışması bu komutu kendiliğinden eklemez; görevi açıkça ekleyin. Formlar genelindeki uygun kayıtları işler; gerçek çalıştırmadan önce bütün süreleri inceleyin. Süresi dolan gönderimlerle ekleri siler ve terk edilmiş geçici yüklemeleri temizler. Çok adımlı yarım formda, kutuda kayıt olmadan geçici dosya bulunabilir.
Sorun giderme
| Belirti | Önce kontrol edin |
|---|---|
| Forms menüsü yok | Etkin uyumlu eklenti, veritabanı kurulumu, rol ve site erişimi. |
| ZIP sonrası Continue/Send hatası | Host sağlayıcı entegrasyonu, Forms yapılandırması ve adlandırılmış hız sınırlayıcı. |
| Form seçici boş | Doğru sayfa sitesi, etkin form ve operatör site bağlamı. |
| Sayfada form yok | Sabit handle, Accepting submissions, alanlar, kayıtlı sayfa ve etkin eklenti. |
| Current website açılmıyor | Aynı adım, tam website değeri, kayıtlı koşul ve JavaScript dosyası. |
| Gizli zorunlu alan gönderimi engelliyor | Koşul, betik ve kayıtlı sayfa testi; sunucu da dalı çözmelidir. |
| Continue aynı adıma dönüyor | Doğrulama, oturum/çerez, zamanlama ve geçerli sunucu adımı. |
| Başarı var, kayıt yok | Doğru site/filtre, depolama, son adım ve koruma/zamanlama. |
| Posta Not configured | Gerçek taşıma, alıcı zinciri ve ziyaretçi kopyasında Email address yanıtı. |
| Site saklama değişikliği forma etki etmiyor | Formun kendi Handling süresini ayarlayıp doğrulayın. |
| Ek reddediliyor | İçerik/uzantı, alan/site/kurulum sınırı ve PHP/sunucu istek sınırı. |
| Özel indirme açılmıyor | İmza süresi, oturum/izin, doğru site ve özel dosya. |
| CSV'de beklenen sütun yok | Form/filtre ve ilk aktarılan kaydın tarihsel şeması. |
| Bülten eylemi işlemiyor | Etkin Campaigns, site/liste, e-posta ve açık kabul edilmiş bülten metni. |
| Eski kayıt eski etiketi gösteriyor | Beklenir: anlık görüntü ziyaretçiye sorulanı korur. |
Yayına açmadan önce son kontrol
Kurulum, host sağlayıcı ve rolleri doğrulayın. Sabit handle, form depolaması, iki teslimat hedefi, alan türleri, zorunluluklar, seçenek etiketleri, aynı-adım koşulları, yükleme sınırı ve kabulü inceleyin. İki dalı normal tempoda tamamlayın, kayıtları bulun, özel indirmeyi test edip aktarımı kutuyla karşılaştırın.
Gerçek anonim ziyaretçi, telefon ve JavaScript kapalı yedeği test edin. Gerçek postayı ayrıca doğrulayın. İsteğe bağlı entegrasyonları ve yöneticinin saklama denemesini inceleyin. Başvuru sayfasını ancak kontrollerden sonra yayınlayıp açık HTTPS sitesinde ve sunulan her dilde doğrudan ziyaretçi testini tekrarlayın.
Forms başvurusu, Contact Form rehberi, Sayfa Yayınlayın, Gezinme Menüleri veya Roller ve İzinler ile devam edin.