Как отправить данные формы Elementor в Google Sheets
Опубликовано: 2022-03-25Веб-формы являются очень мощным инструментом для взаимодействия с пользователями, например, они могут подписаться на информационный бюллетень вашей компании, введя свой адрес электронной почты и любые другие данные, которые вы хотите собрать. Или, возможно, вы являетесь компанией электронной коммерции, которая хочет разместить форму заказа на продажу на своем веб-сайте для удобства своих клиентов. Другой тип формы, который может быть полезен для вашего бизнеса, включает форму обратной связи с клиентами, чтобы вы могли лучше узнать, что работает, а что нет в вашем бизнесе.
Elementor Pro поставляется со множеством встроенных виджетов, одним из виджетов для простого создания формы на вашем веб-сайте является виджет «Форма». С помощью виджета «Форма» вы можете создавать различные типы форм на своем веб-сайте WordPress. Для получения дополнительной информации о виджете вы можете прочитать нашу предыдущую статью о конструкторе форм Elementor.
Хотя Elementor имеет встроенную функцию для управления отправкой форм (данными), вы можете отправить данные в Google Таблицы, чтобы упорядочить и классифицировать данные в логическом формате.
В этой статье мы покажем вам, как получить данные из формы Elementor в Google Sheet, который представляет собой облачный редактор электронных таблиц, который упрощает доступ и использование пользователями.
Запустите новую таблицу в Google Sheets
Вы можете получить доступ к таблицам Google на странице Sheets.google.com, используя бесплатную учетную запись Google (для личного использования) или учетную запись Google Workspace (для использования в бизнесе). Для начала создайте новую пустую таблицу.
Откройте редактор сценариев приложений.
Раньше он размещался в меню « Инструменты » под названием «Редактор скриптов», теперь он называется « Сценарий приложений » в меню « Расширение» .
Получите коды, чтобы включить передачу данных
Чтобы иметь возможность передавать данные формы Elementor в Google Таблицы, вам необходимо сначала подключить их, используя следующий код.
// Измените значение на true, чтобы включить уведомления по электронной почте var emailNotification = false; var emailAddress = "Change_to_your_Email"; // НЕ РЕДАКТИРОВАНИЕ ЭТИХ СЛЕДУЮЩИХ ПАРАМЕТРОВ вар isNewSheet = ложь; var recivedData = []; /** * это функция, которая срабатывает, когда веб-приложение получает запрос GET * Не используется, но требуется. */ функция doGet( e ) { return HtmlService.createHtmlOutput («Да, это URL-адрес веб-перехватчика, запрос получен»); } // Получатель веб-перехватчика — активируется веб-перехватчиком формы для опубликованного URL-адреса приложения. функция doPost( e ) { var params = JSON.stringify(e.parameter); параметры = JSON.parse (параметры); вставить на лист (параметры); // HTTP-ответ return HtmlService.createHtmlOutput («Получен запрос публикации»); } // Сглаживает вложенный объект для более удобного использования с электронной таблицей функция flattenObject( ob ) { вар toReturn = {}; for ( var i in ob ) { if ( ! ob.hasOwnProperty( i ) ) continue; если ( ( тип объекта [ я ] ) == 'объект' ) { var flatObject = flattenObject(ob[i]); for (var x в flatObject) { if ( ! flatObject.hasOwnProperty( x ) ) continue; toReturn[ я + '.' + х ] = плоский объект [ х ]; } } еще { toReturn[i] = ob[i]; } } вернуться кВернуться; } // нормализовать заголовки функция getHeaders (formSheet, ключи) { вар заголовки = []; // получаем существующие заголовки если ( ! isNewSheet ) { заголовки = formSheet.getRange( 1, 1, 1, formSheet.getLastColumn() ).getValues()[0]; } // добавляем любые дополнительные заголовки вар новые заголовки = []; новые заголовки = keys.filter ( функция ( k ) { вернуть headers.indexOf( k ) > -1 ? ложь: к; }); newHeaders.forEach ( функция ( ч ) { заголовки.push(ч); }); заголовки возврата; } // нормализуем значения функция getValues (заголовки, квартира) { переменные значения = []; // проталкиваем значения на основе заголовков заголовки.forEach ( функция ( ч ) { values.push(квартира[h]); }); возвращаемые значения; } // Вставляем заголовки функция setHeaders(лист, значения) { var headerRow = лист.getRange( 1, 1, 1, values.length ) headerRow.setValues([значения]); headerRow.setFontWeight ("полужирный"). setHorizontalAlignment ("центр"); } // Вставляем данные в лист функция setValues(лист, значения) { var lastRow = Math.max(лист.getLastRow(),1); лист.insertRowAfter (последняя строка); лист.getRange(lastRow + 1, 1, 1, values.length).setValues([значения]).setFontWeight("normal").setHorizontalAlignment("center"); } // Находим или создаем лист для формы функция getFormSheet(formName) { вар лист формы; var activeSheet = SpreadsheetApp.getActiveSpreadsheet(); // создаем лист, если нужно если (activeSheet.getSheetByName(formName) == null) { formSheet = activeSheet.insertSheet(); formSheet.setName(formName); исновый лист = истина; } вернуть activeSheet.getSheetByName (formName); } // волшебная функция, в которой все это происходит функция insertToSheet(данные){ var flat = flattenObject(данные); var keys = Object.keys(flat); var имя_формы = данные["имя_формы"]; var formSheet = getFormSheet(formName); заголовки var = getHeaders(formSheet, keys); var values = getValues (заголовки, плоские); setHeaders(formSheet, заголовки); setValues(formSheet, значения); если (уведомление по электронной почте) { sendNotification(данные, getSeetURL()); } } функция getSeetURL() { var электронная таблица = SpreadsheetApp.getActiveSpreadsheet(); лист var = крупноформатная таблица.getActiveSheet(); вернуть электронную таблицу.getUrl(); } функция sendNotification(данные, URL) { var subject = "В ваш лист добавлена новая заявка Elementor Pro Froms"; var message = "Новая заявка получена через форму " + data['form_name'] + " и вставлена в ваш лист Google по адресу: " + url; MailApp.sendEmail(адрес электронной почты, тема, сообщение, { name: 'Сценарий автоматической рассылки электронной почты' }); }
Кредит на код для bainternet.
Очистить весь код и вставить код
Получив код, вставьте его в редактор сценариев приложений, сначала очистите весь существующий код, чтобы он заработал.
Переименуйте проект и сохраните изменения
Когда код будет готов, вы можете переименовать заголовок скрипта, а затем нажать кнопку «Сохранить». .
Разверните скрипт и скопируйте URL-адрес веб-приложения
После того, как изменение будет сохранено, давайте развернем скрипт, нажав кнопку « Развернуть » и выбрав « Новое развертывание » в параметрах.
В появившемся окне нажмите на значок шестеренки и выберите параметр « Веб-приложение ».
В появившейся форме измените доступ на « Любой» и нажмите кнопку « Развернуть» .
Если каким-то образом развертывание скрипта запрашивает разрешение на доступ к вашей электронной таблице, разрешите ему доступ, чтобы скрипт мог записывать данные в вашу электронную таблицу.
После успешного развертывания сценария скопируйте URL-адрес веб-приложения .
Вставьте URL-адрес веб-приложения в настройку веб-перехватчика формы Elementor.
В редакторе Elementor щелкните форму, которую вы хотите подключить к листу Google, она откроет настройки формы на левой панели редактора, затем прокрутите вниз и щелкните блок « Действие после отправки» — «Добавить действие веб-перехватчика» — затем откроется новый Блок Webhook ниже, щелкнув по нему, вы получите поле URL для размещения скопированной ссылки на веб-приложение.
Хорошо, вот и все, вы можете протестировать форму, заполнив текстовое поле и нажав кнопку отправки.
Мы протестировали форму, которую мы создали, заполнив форму и нажав кнопку отправки 3 раза.
На листе Google код создаст новый лист под именем формы на Elementor. Мы назвали форму листом Google , и имя нового листа такое же.
На вновь созданном листе все данные, которые мы отправляем из формы Elementor, есть, без каких-либо пропусков данных.
Подвести итог
Веб-формы — полезный инструмент для отслеживания определенной информации от посетителей вашего сайта. И они, вероятно, являются одним из самых важных элементов на вашем сайте, когда речь идет о достижении ваших целей. Подключив форму к нашему листу Google, мы можем организовать и классифицировать данные в логическом формате. Как только эти данные будут введены в электронную таблицу, мы сможем использовать их для организации и развития нашего бизнеса.