FetchIt
Легковесный компонент для обработки и отправки форм с помощью Fetch API
Вы можете использовать собственный сниппет, вместо FormIt, который будет делать что угодно (хоть создавать страницы на сайте). Единственное требование - он обязательно должен возвращать JSON массив с ключами:
Свойство | Описание |
---|---|
status | 1 или 0, то есть успех или ошибка |
message | сообщение о работе сниппета, выводится если status = 0 |
data | массив для полей с ошибками, в котором ключами является имя поля, а значением — сообщение об ошибке |
Для удобства работы в параметры сниппета передаётся переменная $FetchIt
с классом компонента, чтобы вы могли вызывать из него методы error
и success
при выдаче ответа.
Простейший пример своего сниппета:
<?php
if (empty($_POST['name'])) {
return $FetchIt->error('Ошибки в форме', [
'name' => 'Вы не заполнили имя'
]);
}
else {
return $FetchIt->success('Форма прошла проверку');
}
Вызываем так:
[[!FetchIt?
&snippet=`MySnippet`
&form=`tpl.FetchIt.example`
]]
{'!FetchIt' | snippet : [
'snippet' => 'MySnippet',
'form' => 'tpl.FetchIt.example',
]}
Этот сниппет ничего не делает, просто возвращает результат проверки имени.