FormIt

Опубликовано: 05 Ноя 2014

FormIt - позволяет отправлять и обрабатывать различные формы, осуществлять валидацию введённых пользователем данных и защиту от спама. Само дополнение не генерирует форму, но зато может повторно заполнить её поля введёнными ранее данными, если форма не прошла валидацию.

Использование

Поместите вызов сниппета FormIt в ресурс, содержащий форму, которую Вы хотите использовать. В отличие от предшественников (eForm в MODx Evolution), саму форму не нужно помещать в чанк, а затем ссылаться на него в запросе сниппета - в FormIt можно вызывать сниппет в том же месте где у вас находиться форма, которую требуется обработать. Укажите в запросе сниппета хуки (или пост валидационные скрипты обработки), затем добавьте проверку (валидацию) с помощью параметров &validate и &customValidators в тег сниппета.

Если у Вас на странице имееться несколько форм, вставьте свойство &submitVar в вызов сниппета название элемента формы внутри нее (например &submitVar=`form1-submit`). Этот вызов для FormIt работает только с переменным POST.

Параметры

Название

Описание

По умолчанию

hooks

Какие скрипты выполнять, после того, как форма проходит валидацию. Это может быть разделенный запятыми список хуков. В качестве хука может выступать любой сниппет, который способен обрабатывать форму и взаимодействовать с сниппетом FormIt

 

preHooks

Какие скрипты выполнять, пока форма загружается. Это может быть разделенный запятыми список хуков, и если форма не проходит валидацию, обработка не происходит. Хуком может быть также имя сниппета, которое будет выполнять этот сниппет.

 

submitVar

Если установленно, то обработка формы не начнется до тех пор, пока переменная POST не пройдена. Внимание: необходимо в том случае, если Вы используете &store property (+ задано submit var in input="submit"!).

 

validate

Разделенный запятыми список имён полей для проверки и присвоянные им валидаторы, вида name:validator, например, username:required,email:required. Можно указывать одновременно несколько валидаторов email:email:required.

 

validationErrorMessage

Общее сообщение об ошибке, которое устанавливается в плейсхолдер, если валидация не пройдена. Может пригодиться в том случае, когда вам необходимо отобразить список всех ошибок в верхней части формы.

<p class="error">Ошибки в форме. Пожалуйста, проверть введенные данные.</p>

validationErrorBulkTpl

HTML-шаблон, который используется для каждой отдельной ошибки в значении сообщения общей ошибке валидации.

<li></li>

errTpl

HTML обвёртка для сообщений об ошибках. Примечание: не чанк, а только HTML.

<span class="error"></span>

customValidators

Разделенный запятыми список собственных имен валидаторов (сниппетов), которые Вы планируете использовать в данной форме.

 

clearFieldsOnSuccess

Если true, очищает поля после успешной отправки форм без редиректа.

1

store

Если true, будет хранить данные в кэше поиска используя  FormItRetriever snippet.

0

storeTime

Если 'store'  true, устанавливает количество секунд, чтобы хранить данные до отправки формы. По умолчанию 5 минут.

300

placeholderPrefix

Префикс плейсхолдеров для значений полей.

fi.

successMessage

Если не используется редирект, сообщение об удачной отправке.

 

successMessagePlaceholder

Имя плейсхолдера для сообщения об удачной отправке

fi.successMessage

redirectTo

id страницы редиректа.

 

 

FormIt email Hook

Email - хук, который отправляет содержимое формы на указанные электронные адреса.

Параметры

Название

Описание

По умолчанию

emailTpl

Обязательный. Tpl чанк для email сообщения. Если не указан, будет посылаться список полей с их значениями.

 

emailSubject

Тема email сообщения.

 

emailUseFieldForSubject

Если устновленна 1 и поле subject пройдено, то будет использоваться значение этого поля в качестве строки темы email-а.

 

emailTo

Список e-mail адресов, разделённых запятыми, на которые следует сделать отправку данных из формы

 

emailToName

Разделенный запятыми список имен вместе со значениями emailTo.

 

emailFrom

Если установлено, будет определять поле в письме From: email. Если не установлено, подставлять поле формы email.

в настройках дополнения параметр emailsender

emailFromName

Если установлено, будет определять поле в письме From: имя отправителя.

 

emailHtml

HTML формат для email.

1

emailConvertNewlines

Если установлено 1, будет преобразовывать все разрывы строки в теги <br>.

 

emailReplyTo

Еmail, который установлен для ответа.

 

emailReplyToName

Имя для поля Reply-To.

 

emailCC

Разделенный запятыми список электронных адресов для отправки через cc.

 

emailCCName

Разделенный запятыми список имен вместе со значениями emailCC.

 

emailBCC

Разделенный запятыми список электронных адресов для отправки через bcc.

 

emailBCCName

Разделенный запятыми список имен вместе со значениями emailBCC.

 

emailMultiWrapper

Обрабатывает значения, представленные флажками/мульти-селекторами с этим значением. По умолчанию только значение. (1.6.0 +)

 

emailMultiSeparator

Разделяет флажки/ мульти-селекторы этим значением. По умолчанию разрыв строки. (1.6.0 +)

 

 

Любое из свойств хука email может иметь плейсходеры имен полей c вашей формы

Использование

Следует указать данных хук email во время вызова сниппета FormIt и затем указать необходимые параметры:

[ [!FormIt?
   &emailTpl=`EmailTpl`
   &emailSubject=`Письмо с формы`
   &emailTo=`people@peole.ua`
   &emailCC=`boss@name.com`
   &emailBCC=`fbi@othername.com`
   &emailBCCName=`Имя`
]]

Использование плейсходера из формы для отправки данных на выбранный из выпадающего списка email адрес:

[ [!FormIt?
   &emailTo=`[ [+addressTo]]`
]]
...
<select name="addressTo">
   <option value="john@doe.com" [ [!+fi.addressTo:FormItIsSelected=`name1@doe.com`]]>Имя 1</option>
   <option value="jane@doe.com" [ [!+fi.addressTo:FormItIsSelected=`name2@doe.com`]]>Имя 2</option>
</select>

 

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: