Elementor formu verileri Google elektronik tablosuna nasıl gönderilir
Web formu, kullanıcılarla etkileşim kurmak için çok etkili bir araçtır, örneğin, e -posta adreslerini ve toplamak istediğiniz diğer verileri girerek şirketinizin bültenine abone olabilirler. Ya da belki müşterileriniz için kolaylık olarak web sitenize satış siparişi formlarını dahil etmek isteyen bir e-ticaret şirketisiniz. İşletmeniz için yararlı olabilecek başka bir form türü, bir müşteri geri bildirimi formu eklemektir, böylece neyin başarılı olduğu ve işinizde neyin olmadığı hakkında daha iyi bilgi edinebilirsiniz.
Elementor Pro birçok orijinal widget ile birlikte geliyor, web sitenizde kolayca formlar oluşturmak için widget’lardan biri form widget. Bir form widget’ıyla, WordPress web sitenizde çeşitli form türleri oluşturabilirsiniz. Widget hakkında daha fazla bilgi için Elementor Form Builder hakkındaki önceki makalemizi kontrol edebilirsiniz. Elementor, formların (veri) sunumunu yönetmek için varsayılan bir özelliğe sahip olmasına rağmen, verileri mantıksal biçimlerde yönetmek ve sınıflandırmak için Google e -tablosuna veri göndermek isteyebilirsiniz. Bu makalede, Elementor formundan, kullanıcılar için erişimi ve kullanımı kolaylaştıran bulut e -tablosunun editörü olan Google sayfasına nasıl gireceğinizi göstereceğiz.
Google e -tablosunda yeni bir e -tablo başlatın Google sayfalarına sheets.google.com adresinden ücretsiz bir Google hesabı (kişisel kullanım için) veya Google çalışma alanı hesabı (iş kullanımı için) kullanarak erişebilirsiniz. Başlamak için yeni bir boş e -tablo oluşturun.
Var e -sailnotifikation = false;
Var e -postaaddress = “change_ke_email_anda”;
// Bu sonraki paramleri düzenlemeyin
var iSnewsheet = yanlış;
VAR alınır = [];
/**
* Bu, web uygulaması bir GET isteği aldığında etkinleştirilen bir işlevdir.
* Kullanılmamış ama gerekli.
*/
Doget işlevi (e) {
Return htmlService.CreateThtMoutput (“Evet, bu bir Webhook URL’si, isteği alındı”);
}
// WebHook Alıcı – Yayınlanan Uygulama URL’sine Webhook formlarıyla tetiklenir.
Dopost işlevi (e) {
var params = json.stringify (e.parameter);
params = json.parse (params);
insertTosheet (params);
// yanıt http
Return htmlService.CreateHtput (“İstek alındı”);
}
// Elektronik tablo ile kullanımı daha kolay olacak şekilde yuvalama nesnesini düzleştirme
FlattenObject (OB) işlevi {
Var Toreturn = {};
(ob in ob) için {
Eğer (! Ob.hasownppert (i)) devam ederse;
if ((typeof ob [i]) == ‘object’) {
var flatObject = flattenObject (ob [i]);
(FlatObject’te var x) {
eğer (! FlatObject.Hasownpperty (x)) devam ederse;
[i + ‘.’ Dönmek için. ‘ + x] = düz nesne [x];
}
} başka {
Toreturn [i] = ob [i];
}
}
Denetimli serbestliğe geri dön;
}
// başlığı normalleştir
İşlev Getheaders (formsheet, anahtarlar) {
var başlığı = [];
// Mevcut başlığı al
if (! IsnewSheet) {header = formsheet.getRange (1, 1, 1, formsheet.getlastcolumn ()). Beetavalues () [0];
}
// herhangi bir ek başlık ekleyin
var newheaders = [];
newHeaders = Keys.filter (işlev (k) {
Dönüş başlıkları.Indexof (k)> -1? Yanlış: K;
});
newHeaders.foreach (işlev (h) {
başlıklar.push (h);
});
gölgelik geri;
}
// değeri normalleştirin
Function getValles (başlık, düz) {
Var değeri = [];
// Başlığa göre değeri teşvik edin
headers.foreach (işlev (h) {
value.push (düz [h]);
});
değerleri geri yükleme;
}
// başlığı ekleyin
Setheaders işlevi (sayfa, değer) {
var headerrow = sheet.getRange (1, 1, 1, değerler.Length)
Headerrow.setValues ([değer]);
Headerrow.setFontweight (“kalın”). Sethorizontalignment (“Orta”);
}
// Verileri sayfaya girin
SetValues işlevi (sayfa, değer) {
Var lastrrow = math.max (sheet.getlastrow (), 1);
Sheet.inSerTrowaft (son satır);
sheet.getRange (lastrrow + 1, 1, 1, değerler.Length). setValues ([değer]). setFontweight (“normal”). sethorizontalignment (“merkez”);
}
// Bir form için bir sayfa bulun veya oluşturun
getFormSheet işlevi (formname) {
var formsheet;
var Activesheet = exampleSheetApp.GetActivePreadSheet ();
// Gerekirse bir sayfa oluştur
if (Activesheet.getSheetByName (formname) == null) {
formsheet = Activesheet.insertSheet ();
formsheet.setName (formname);
isnewsheet = true;
}
Back Activesheet.GetSheetByName (formname);
}
// her şeyin olduğu sihirli işlev
İnsertTosheet işlevi (veri) {
düz var = flattenObject (veri);
var Keys = object.Keys (düz);
var formname = data [“form_name”];
Var formsheet = getifSheet (nameForm);
var header = getheaders (formsheet, anahtarlar); var değerleri = getValues (başlık, düz);
Setheaders (formsheet, başlık);
SetValues (formsheet, değer);
İf (e -postanotifikasyon) {
SendNotification (veri, getseeturl ());
}
}
Betheeturl function () {
Var exampleSheet = exampleSheetApp.GetActivePreadSheet ();
var sheet = e -tablo.getActivesheet ();
E -tablo.geturl ();
}
Sendnotifikasyon işlevi (veri, url) {
Var antrence = “Subbmit Elementor Pro froms yeni sayfanıza girildi”;
Var Message = “Yeni teslimat” + data [‘form_name’] + “formundan alındı ve Google sayfanıza şu adresten girildi:” + url;
MailApp.SendEmail (e -posta, konu, mesaj, {
İsim: ‘Otomatik e -posta senaryosu’
});
} Bainternet’e kod için kredi.
Tüm kodları silin ve kodu yaptıktan sonra kodu yapıştırın, komut dosyası uygulamaları düzenleyicisine yapıştırın, işlevini işleyecek şekilde mevcut tüm kodları silin.
Proje adını değiştirin ve değişiklik kaydet Kod hazır olduktan sonra, komut dosyası başlığının adını değiştirebilir, ardından Kaydet düğmesini tıklatabilirsiniz
.
Dağıtım Komut Dosyası ve URL Web Uygulamasını Kopyala Değişikliği depolandıktan sonra, Dağıtım düğmesini tıklayıp seçeneğin yeni dağıtımını seçerek komut dosyasını kullanalım.
Görünen pencerede dişli simgesini tıklayın