FormIt - это компонент, помогающий отправить вашу форму на email без бэкенд программированния. Вам необходимо лишь настроить HTML, CSS, ну и сам сниппет.
Пример реализации:
[[!FormIt?
&hooks=`FormItSaveForm,email`
&emailSubject=`Тестовое сообщение`
&emailTo=`[[++emailsender]]`
&emailTpl=`myform.email`
&validate=`name:minLength=^2^,email:email:required,message:minLength=^10^`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
Пример реализации с помощью AjaxForm:
[[!AjaxForm?
&form=`myform`
&snippet=`FormIt`
&hooks=`FormItSaveForm,email`
&emailSubject=`Тестовое сообщение`
&emailTo=`[[++emailsender]]`
&emailTpl=`myform.email`
&validate=`name:minLength=^2^,email:email:required,message:minLength=^10^`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
| Параметр | Описание | По умолчанию |
| allowFiles | Если установлено значение 0, файлы не будут отправлены в форму. | true |
| attachFilesToEmail | Если true, FormIt добавит все поля файла как вложения в электронное письмо. | true |
| clearFieldsOnSuccess | Если установлено значение true, то поля формы будут очищатся после успешной отправки формы без редиректа. | true |
| customValidators | Разделённый запятыми список имён пользовательских валидаторов (сниппетов), которые вы планируете использовать в этой форме. Пользовательские валидаторы должны быть обязательно указаны в этом параметре, иначе они не будут работать. | |
| emailBCC | Хук «email». Разделённый запятыми список адресов электронной почты на которые надо послать скрытую копию письма (BCC). | |
| emailBCCName | Хук «email». Необязательный параметр. Разделённый запятыми список имён владельцев адресов электронной почты указанных в параметре «emailBCC». | |
| emailCC | Хук «email». Разделённый запятыми список адресов электронной почты на которые надо послать копию письма. | |
| emailCCName | Хук «email». Необязательный параметр. Разделённый запятыми список имён владельцев адресов электронной почты указанных в параметре «emailCC». | |
| emailConvertNewlines | Если true и emailHtml установлен в 1, то в письме перенос строки будет конвертирован в тег BR. | |
| emailFrom | Хук «email». Необязательный параметр. Если этот параметр установлен, то он будет определять адрес электронной почты отправителя письма. Если не установлен, то сначала адрес электронной почты будет искаться в данных формы в поле с именем «email», если это поле не будет найдено, то будет использоваться адрес электронной почты из системной настройки «emailsender». | |
| emailFromName | Хук «email». Необязательный параметр. Имя отправителя письма. | |
| emailHtml | Хук «email». Необязательный параметр. Этот параметр включает использование HTML разметки в электронном письме. По умолчанию включено. | true |
| emailMultiSeparator | Разделитель по умолчанию для списка значений, отправляемых через поля типа checkboxes/multi-selects. По умолчанию используется перенос строки. | |
| emailMultiWrapper | Обернет каждое значение в списке полей отправленных из полей типа checkboxes/multi-selects. По умолчанию передаются только значения, без обертки. | [[+value]] |
| emailReplyTo | Хук «email». Необязательный параметр. Адрес электронной почты для ответа на письмо. | |
| emailReplyToName | Хук «email». Необязательный параметр. Имя владельца адреса электронной почты который используется для ответа на письмо. | |
| emailReturnPath | Необязательный параметр. Если `email` установлен как хук и этот параметр включен, то будет указан Return-path: адрес для электронной почты. Если не установлен, будет принимать значение свойства `emailFrom`. | |
| emailSubject | Хук «email». В этом параметре можно указать тему электронного письма. | |
| emailTo | Хук «email». Разделённый запятыми список адресов электронной почты на которые надо послать письмо. | |
| emailToName | Хук «email». Необязательный параметр. Разделённый запятыми список имён владельцев адресов электронной почты указанных в параметре «emailTo». | |
| emailUseFieldForSubject | Если поле «subject» используется в форме и этот параметр установлен в true, то содержимое этого поля будет использоваться как тема электронного письма. | |
| errTpl | Шаблон сообщения об ошибке. | <span class="error">[[+error]]</span> |
| fiarBCC | Хук «FormItAutoResponder». Разделённый запятыми список адресов электронной почты на которые надо послать скрытую копию письма (BCC). | |
| fiarBCCName | Хук «FormItAutoResponder». Необязательный параметр. Разделённый запятыми список имён владельцев адресов электронной почты указанных в параметре «emailBCC». | |
| fiarCC | Хук «FormItAutoResponder». Разделённый запятыми список адресов электронной почты на которые надо послать копию письма. | |
| fiarCCName | Хук «FormItAutoResponder». Необязательный параметр. Разделённый запятыми список имён владельцев адресов электронной почты указанных в параметре «emailCC». | |
| fiarFrom | Хук «FormItAutoResponder». Необязательный параметр. Если этот параметр установлен, то он будет определять адрес электронной почты отправителя письма. Если не установлен, то сначала адрес электронной почты будет искаться в данных формы в поле с именем «email», если это поле не будет найдено, то будет использоваться адрес электронной почты из системной настройки «emailsender». | |
| fiarFromName | Хук «FormItAutoResponder». Необязательный параметр. Имя отправителя письма. | |
| fiarHtml | Хук «FormItAutoResponder». Необязательный параметр. Включает или выключает использование HTML разметки в электронном письме. По умолчанию включено. | true |
| fiarReplyTo | Хук «FormItAutoResponder». Необязательный параметр. Адрес электронной почты для ответа на письмо. | |
| fiarReplyToName | Хук «FormItAutoResponder». Необязательный параметр. Имя владельца адреса электронной почты которое используется для ответа на письмо. | |
| fiarSubject | Хук «FormItAutoResponder». Тема письма. | [[++site_name]] Auto-Responder |
| fiarToField | Хук «FormItAutoResponder». Поле формы которое будет использовано как адрес на который надо отправить автоматический ответ. | |
| fiarTpl | Хук «FormItAutoResponder». Обязательный параметр. Имя чанка который будет использоватся как шаблон письма для автоматического ответа. | |
| hooks | Разделённый запятыми список хуков которые будут выполнятся по очереди после того как форма пройдёт проверку. Если какой-то из хуков вернёт false, то следующие хуки не будут выполнены. Хук также может быть именем сниппета, этот сниппет будет выполнен как хук. | |
| mathField | Хук «math». Имя поля ввода для ответа. | math |
| mathMaxRange | Хук «math». Максимальный диапазон для каждого числа в уравнении. | 100 |
| mathMinRange | Хук «math». Минимальный диапазон для каждого числа в уравнении. | |
| mathOp1Field | Хук «math». Имя поля для первого числа в уравнении. | op1 |
| mathOp2Field | Хук «math». Имя поля для второго числа в уравнении. | op2 |
| mathOperatorField | Хук «math». Имя поля для оператора в уравнении. | operator |
| placeholderPrefix | Префикс который используется всеми плейсхолдерами установлеными FormIt для полей. По умолчанию «fi.» | fi. |
| preHooks | Разделённый запятыми список хуков которые будут выполнятся по очереди после того как форма будет загружена. Если какой-то из хуков вернёт false, то следующие хуки не будут выполнены. Например: можно предварительно устанавливать значения полей формы с помощью $scriptProperties[`hook`]->fields[`fieldname`]. Хук также может быть именем сниппета, этот сниппет будет выполнен как хук. | |
| recaptchaJs | Хук «recaptcha». JSON объект который содержит в себе настройки для виджета reCAPTCHA. | {} |
| recaptchaTheme | Хук «recaptcha». Тема оформления для виджета reCAPTCHA. | clean |
| redirectParams | JSON-массив параметров для передачи в хук «redirect», который будет передаваться при редиректе. | |
| redirectTo | Хук «redirect». В этом параметре надо указать идентификатор ресурса на который будет происходить редирект после успешной отправки формы. | |
| saveTmpFiles | Если установлено значение 1, FormIt будет хранить отправленные файлы во временной папке. | |
| spamCheckIp | Хук «spam». Если этот параметр установлен в true, то будет проверяться IP-адрес отправителя формы на причастность к спаму. | |
| spamEmailFields | Хук «spam». Разделённый запятыми список полей содержащих адреса электронной почты для проверки на причастность к спаму. | |
| store | Если установлено true, данные переданные через форму будут сохранятcя в кэше, для дальнейшего их использования с помощью сниппета FormItRetriever. | |
| storeAttachments | - | |
| storeLocation | Если для `store` задано значение true, то этот параметр указывает местоположение кэша данных из форм. По умолчанию используется кэш MODX. | cache |
| storeTime | Если для `store` задано значение true, то этот параметр указывает время (в секундах) для хранения данных из отправленной формы. По умолчанию пять минут. | 300 |
| submitVar | Если установлено значение, то обработка формы не начнётся пока POST параметр с этим именем не будет передан. | |
| successMessage | Значение плейсхолдера для сообщения об успехе. Имя подстановщика устанавливается в параметре &successMessagePlaceholder, по умолчанию «fi.successMessage». | |
| successMessagePlaceholder | Плейсхолдер для сообщения об успехе. | fi.successMessage |
| trimValuesBeforeValidation | Обрезать ли пробелы от начала и конца значения до начала валидации. По умолчанию true. | true |
| validate | Разделённый запятыми список полей для проверки, для каждого поля пишется имя:валидатор (т.е.: username:required,email:required). Валидаторы могут быть объединены через двоеточие, например email:email:required. Этот параметр может быть задан на нескольких строках. | |
| validationErrorBulkTpl | HTML шаблон (tpl), который используется для каждой отдельной ошибки в общем значении сообщения об ошибке при валидации. | <li>[[+error]]</li> |
| validationErrorMessage | Общее сообщение об ошибке для установки в качестве плейсхолдера в случае если валидация не прошла. Может содержать [[+errors]], если вы хотите отобразить список всех ошибок. | <p class="error">A form validation error occurred. Please check the values you have entered.</p> |