
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',
]}Этот сниппет ничего не делает, просто возвращает результат проверки имени.