Skip to content
  1. Компоненты
  2. FetchIt
  3. Обработка своим сниппетом

Обработка своим сниппетом

Вы можете использовать собственный сниппет, вместо FormIt, который будет делать что угодно (хоть создавать страницы на сайте). Единственное требование - он обязательно должен возвращать JSON массив с ключами:

СвойствоОписание
status1 или 0, то есть успех или ошибка
messageсообщение о работе сниппета, выводится если status = 0
dataмассив для полей с ошибками, в котором ключами является имя поля, а значением — сообщение об ошибке

Для удобства работы в параметры сниппета передаётся переменная $FetchIt с классом компонента, чтобы вы могли вызывать из него методы error и success при выдаче ответа.

Простейший пример своего сниппета:

php
<?php
if (empty($_POST['name'])) {
  return $FetchIt->error('Ошибки в форме', [
    'name' => 'Вы не заполнили имя'
  ]);
}
else {
  return $FetchIt->success('Форма прошла проверку');
}

Вызываем так:

modx
[[!FetchIt?
  &snippet=`MySnippet`
  &form=`tpl.FetchIt.example`
]]
fenom
{'!FetchIt' | snippet : [
  'snippet' => 'MySnippet',
  'form' => 'tpl.FetchIt.example',
]}

Этот сниппет ничего не делает, просто возвращает результат проверки имени.