FormItRetriever
Последнее обновление Apr 7th, 2021 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn moreЧто такое FormItRetriever?¶
FormItRetriever - это вспомогательный Сниппет для FormIt, который будет получать пользовательские данные последней отправки формы через FormIt. Это полезно для страниц, куда пользователь перенаправляется после отправки формы.
Использование¶
Просто добавьте этот Сниппет на любую страницу, с которой вы перенаправляете (используя свойство FormIt &redirectTo
), и установите &store=1
в вызове FormIt:
[[!FormItRetriever]]
А затем отобразите данные формы с плейсхолдерами, относящимися к именам полей, например:
<p><Благодарим [[!+fi.name]] за сообщение. Письмо будет отправлено вам на ящик [[!+fi.email]].</p>
Не забудьте установить &store=1
в вызове FormIt, чтобы сниппет понимал, что нужно хранить значение.
Обязательно вызывайте Плейсхолдеры некэшированными. Эти данные изменяются при каждом запросе, поэтому Плейсхолдеры также должны изменять каждый запрос.
Свойства FormItRetriever¶
FormItRetriever имеет некоторые свойства по умолчанию, которые вы можете переопределить. Вот что там есть:
Имя | Описание | По умолчанию |
---|---|---|
placeholderPrefix | Строка для префикса всех плейсхолдеров для полей формы, которые будут установлены этим Сниппетом. | fi. |
redirectToOnNotFound | Если данные не найдены и если это свойство установлено, перенаправить на Ресурс с этим идентификатором. | |
eraseOnLoad | Если указано, при загрузке будут удалены сохраненные данные формы. Настоятельно рекомендуется оставить значение 0 , если вы не хотите, чтобы данные загружались только один раз. |
|
storeLocation | Откуда взять данные формы. Должно быть равно свойству storeLocation вашего вызова Сниппета FormIt. Возможные значения: 'cache' и 'session'. |
cache |
Пример¶
Отправим форму с автоматическим ответом и защитой от спама, затем перенаправим на страницу с благодарностью, где загружается последняя отправленная форма, и, если она не найдена, перенаправим на Ресурс с идентификатором 444.
На вашей странице с формой:
[[!FormIt?
&submitVar=`go`
&hooks=`spam,FormItAutoResponder,redirect`
&emailTo=`[email protected]`
&store=`1`
&redirectTo=`123`
]]
<form action="[[~[[*id]]]]" method="post">
<input type="hidden" name="nospam" value="" />
<label for="name">Имя: [[!+fi.error.name]]</label>
<input type="text" name="name:required" id="name" value="[[!+fi.name]]" />
<label for="email">Email: [[!+fi.error.email]]</label>
<input type="text" name="email:email:required" id="email" value="[[!+fi.email]]" />
<label for="message">Сообщение: [[!+fi.error.message]]</label>
<textarea name="message:stripTags" id="message" cols="55" rows="7">[[!+fi.message]]</textarea>
<br />
<input type="submit" name="go" value="Отправить" />
</form>
На вашей странице подтверждения (Resource ID 123):
[[!FormItRetriever? &redirectToOnNotFound=`444`]]
<p>Спасибо [[!+fi.name]] за ваше обращение. Вам будет отправлен автоматически электронное письмо на адрес [[!+fi.email]]. Текст вашего обращения:</p>
[[!+fi.message]]
Смотрите также¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more