Elementor Form Verileri Google E-Tablolara Nasıl Gönderilir?
Yayınlanan: 2022-03-25Web formları, kullanıcılarla etkileşim kurmak için çok güçlü bir araçtır; örneğin, e-posta adreslerini ve toplamak istediğiniz diğer verileri girerek şirketinizin haber bültenine abone olabilirler. Belki de müşterilerinize kolaylık olması için web sitenize satış siparişi formu eklemek isteyen bir e-ticaret firmasısınız. İşletmeniz için faydalı olabilecek başka bir form türü, işletmenizde neyin işe yarayıp neyin yaramadığı konusunda daha iyi bilgi sahibi olabilmeniz için bir müşteri geri bildirim formu eklemektir.
Elementor Pro birçok yerel widget ile birlikte gelir, web sitenizde kolayca form oluşturmak için kullanılan widget'lardan biri Form widget'ıdır. Form widget'ı ile WordPress web sitenizde çok çeşitli form türleri oluşturabilirsiniz. Widget hakkında daha fazla bilgi için Elementor Form Builder hakkındaki önceki makalemize göz atabilirsiniz.
Elementor, form gönderimlerini (verileri) yönetmek için yerleşik bir özelliğe sahip olsa da, verileri organize etmek ve mantıksal bir biçimde kategorilere ayırmak için verileri Google E-Tablolar'a göndermek isteyebilirsiniz.
Bu makalede, Elementor Form'dan, kullanıcılar için erişimi ve kullanımı kolaylaştıran bir bulut elektronik tablo düzenleyicisi olan Google Sheet'e nasıl veri alacağınızı göstereceğiz.
Google E-Tablolar'da Yeni Bir E-Tablo Başlatın
Google sayfalarına ücretsiz bir Google hesabı (kişisel kullanım için) veya bir Google Workspace hesabı (iş amaçlı kullanım için) kullanarak Sheets.google.com adresinden erişebilirsiniz. Başlamak için yeni bir boş e-tablo oluşturun.
Apps Komut Dosyası Düzenleyicisini açın
Önceden, komut dosyası düzenleyicisi tarafından Araçlar menüsü altına yerleştirilmiş, günümüzde Uzantı menüsü altında Apps Komut Dosyası olarak adlandırılmıştır.
Veri Aktarımını etkinleştirmek için Kodları Alın
Elementor form verilerini Google E-Tablolar'a aktarabilmek için önce aşağıdaki kodu kullanarak bunları bağlamanız gerekir.
// E-posta bildirimlerini etkinleştirmek için true olarak değiştirin var emailNotification = false; var emailAddress = "Change_to_your_Email"; // BU SONRAKİ PARAMLARI DÜZENLEMEYİN var isNewSheet = false; var recivedData = []; /** * bu, web uygulaması bir GET isteği aldığında tetiklenen bir işlevdir * Kullanılmaz ancak gereklidir. */ işlev doGet( e ) { return HtmlService.createHtmlOutput("Evet, bu webhook URL'sidir, istek alındı"); } // Web kancası Alıcısı - yayınlanan Uygulama URL'sine web kancası formuyla tetiklendi. işlev doPost( e ) { var params = JSON.stringify(e.parameter); parametreler = JSON.parse(paramlar); insertToSheet(paramlar); // HTTP Yanıtı dönüş HtmlService.createHtmlOutput("istek gönderildi"); } // Elektronik tabloyla daha kolay kullanım için yuvalanmış bir nesneyi düzleştirir function flattenObject( ob ) { var toReturn = {}; for ( var i in ob ) { eğer ( ! ob.hasOwnProperty( i ) ) devam ederse; if ( ( typeof ob[ i ] ) == 'nesne' ) { var flatObject = flattenObject( ob[ i ] ); for ( flatObject içinde var x ) { eğer ( ! flatObject.hasOwnProperty( x ) ) devam ederse; toReturn[ ben + '.' + x ] = flatObject[ x ]; } } başka { toReturn[ ben ] = ob[ ben ]; } } Dönüş'e dönüş; } // başlıkları normalleştir function getHeaders(formSheet,keys ) { var başlıklar = []; // mevcut başlıkları al if ( !isNewSheet ) { başlıklar = formSheet.getRange( 1, 1, 1, formSheet.getLastColumn() ).getValues()[0]; } // herhangi bir ek başlık ekleyin var newHeaders = []; newHeaders = tuşlar.filtre( işlev( k ) { dönüş headers.indexOf( k ) > -1 ? yanlış: k; } ); newHeaders.forEach( işlev( h ) { headers.push(h); } ); dönüş başlıkları; } // değerleri normalleştir function getValues(başlıklar, düz ) { var değerler = []; // üstbilgilere dayalı değerleri itin headers.forEach( fonksiyon( h ){ değerler.push( düz[ h ]); }); dönüş değerleri; } // Başlıkları ekle function setHeaders( sayfa, değerler ) { var headerRow = sayfa.getRange( 1, 1, 1, değerler.uzunluk ) headerRow.setValues([değerler]); headerRow.setFontWeight("kalın" ).setHorizontalAlignment("orta"); } // Verileri Sayfaya Ekle function setValues( sayfa, değerler ) { var lastRow = Math.max(sheet.getLastRow(),1 ); sayfa.insertRowAfter( lastRow ); tabaka.getRange( lastRow + 1, 1, 1, değerler.uzunluk ).setValues( [ değerler ] ).setFontWeight( "normal" ).setHorizontalAlignment( "merkez" ); } // Form için sayfa bul veya oluştur function getFormSheet( formName ) { var formSheet; var activeSheet = SpreadsheetApp.getActiveSpreadsheet(); // gerekirse sayfa oluştur if ( activeSheet.getSheetByName( formName ) == null ) { formSheet = activeSheet.insertSheet(); formSheet.setName(formName); isNewSheet = doğru; } activeSheet.getSheetByName( formName ); } // her şeyin olduğu sihirli fonksiyon function insertToSheet( veri ){ var flat = flattenObject( data ); var tuşları = Object.keys( düz ); var formName = data["form_name"]; var formSheet = getFormSheet( formName ); var headers = getHeaders(formSheet,keys); var değerler = getValues(başlıklar, düz); setHeaders (formSheet, başlıklar); setValues(formSheet,değerler); if (emailBildirim) { sendNotification(veri, getSeetURL()); } } function getSeetURL() { var elektronik tablo = SpreadsheetApp.getActiveSpreadsheet(); var sayfa = spreadsheet.getActiveSheet(); elektronik tabloyu döndür.getUrl(); } function sendNotification( veri, url ) { var konu = "Sayfanıza yeni bir Elementor Pro Froms gönderimi eklendi"; var message = "" + data['form_name'] + " formu aracılığıyla yeni bir başvuru alındı ve şu adresteki Google sayfanıza eklendi: " + url; MailApp.sendEmail( emailAddress, konu, mesaj, { ad: 'Otomatik E-posta Gönderici Komut Dosyası' } ); }
Bainternet kodu için kredi.
Tüm Kodu Temizle ve Kodu Yapıştır
Kodu aldıktan sonra, Apps Komut Dosyası düzenleyicisine yapıştırın, çalışması için önce mevcut tüm kodu temizleyin.
Projeyi Yeniden Adlandırın ve Değişiklikleri Kaydedin
Kod hazır olduğunda, komut dosyası başlığını yeniden adlandırabilir ve ardından kaydet düğmesine tıklayabilirsiniz. .
Komut Dosyasını Dağıtın ve Web uygulaması URL'sini Kopyalayın
Değişiklik kaydedildikten sonra, Dağıt düğmesine tıklayıp seçeneklerden Yeni dağıtım'ı seçerek betiği dağıtalım.
Görünen pencerede dişli simgesine tıklayın tıklayın ve Web uygulaması seçeneğini belirleyin.
Yeni görünen formda, Herkes erişimini değiştirin ve Dağıt düğmesini tıklayın.
Komut dosyasının dağıtımı bir şekilde elektronik tablonuza erişmek için izin istiyorsa, komut dosyasının verileri elektronik tablonuza yazabilmesi için lütfen erişimi yetkilendirin.
Komut dosyasının dağıtımı başarılı olduktan sonra Web uygulaması URL'sini kopyalayın.
Web Uygulaması URL'sini Elementor Form Webhook Ayarına yapıştırın
Elementor düzenleyicide, Google sayfasına bağlanmak istediğiniz formu tıklayın, düzenleyicinin sol panelindeki form ayarını açacak, ardından aşağı kaydırıp Gönderdikten Sonra Eylem bloğuna tıklayın - Web kancası eylemi ekle - ardından yeni bir Aşağıdaki Web kancası bloğu, üzerine tıklamak, kopyalanan web uygulaması bağlantısını yerleştirmek için size bir URL alanı verecektir.
Tamam bu kadar, metin alanını doldurup gönder butonuna tıklayarak formu test edebilirsiniz.
Oluşturduğumuz formu formu doldurup 3 defa gönder butonuna tıklayarak test ettik.
Google sayfasında, kod, Elementor'daki formun adı altında yeni bir sayfa oluşturacaktır. Formu google sayfası olarak adlandırdık ve yeni sayfa adı aynı.
Yeni oluşturulan sayfada, Elementor formundan gönderdiğimiz tüm veriler hiçbir veriyi kaçırmadan oradadır.
Özetlersek
Web formları, web sitenizin ziyaretçilerinden gelen belirli bilgileri izlemek için kullanışlı bir araçtır. Ve hedeflerinize ulaşma konusunda muhtemelen web sitenizdeki en önemli unsurlardan biridir. Formu Google sayfamıza bağlayarak verileri organize edebilir ve mantıksal bir biçimde kategorilere ayırabiliriz. Bu veriler elektronik tabloya girildiğinde, işimizi organize etmeye ve büyütmeye yardımcı olmak için kullanabiliriz.