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

Настройки компонента ​

Пространство имён в MODX: fetchit. Ключи ниже — полные, в менеджере они разложены по областям «Основные» и «Защита».

Фронтенд ​

fetchit.frontend.js ​

  • По умолчанию: [[+assetsUrl]]js/fetchit.js

Путь к скрипту с классом обработки форм. В пакете есть и минифицированный js/fetchit.min.js — около 19 КБ вместо 36 (в gzip около 7 КБ вместо 10).

Плагин подключает скрипт в <head> с атрибутом defer. Если на странице с формой нет <head> или настройка указывает не на .js-файл, скрипт не подключается, а причина пишется в журнал MODX.

fetchit.frontend.js.classname ​

  • По умолчанию: FetchIt

Имя глобального класса, который создаёт экземпляры. Попадает в inline-вызов FetchIt.create({...}). Меняйте, только если расширили встроенный класс своим. Если класса с этим именем на странице нет, форма отправится обычным способом, а в консоли будет предупреждение.

fetchit.frontend.input.invalid.class ​

  • По умолчанию: is-invalid

CSS-класс на input / select / textarea с ошибкой. Несколько классов пишите через пробел. На поле также ставится aria-invalid="true".

fetchit.frontend.custom.invalid.class ​

  • По умолчанию: пусто

Класс на элементы с [data-custom="имя_поля"] — обёртки под Bootstrap, Bulma и подобные.

fetchit.frontend.default.notifier ​

  • По умолчанию: Нет

Показывать ответы сервера и ошибки отправки встроенными уведомлениями в углу страницы. Свой FetchIt.Message важнее настройки.

Внимание

До FetchIt 4 эта настройка подключала библиотеку Notyf. Теперь Notyf в пакете нет: стили для .notyf__toast и скрипты, которые вызывают new Notyf(), нужно поменять или подключить Notyf самостоятельно.

Защита ​

Подробно: Защита от спама.

fetchit.protection ​

  • По умолчанию: Да

Все проверки защиты: токен, время заполнения, ловушка, лимит, proof-of-work и капча. Выключайте только для отладки.

fetchit.protection.secret ​

  • По умолчанию: случайный ключ

Ключ подписи токенов, генерируется при установке пакета. После смены ключа страницы, открытые до неё, получат по одной повторной отправке с новым токеном.

fetchit.protection.min_time ​

  • По умолчанию: 3

Минимальное время заполнения формы в секундах, считается от вывода страницы. 0 выключает проверку.

fetchit.protection.token_ttl ​

  • По умолчанию: 86400

Сколько секунд страница с формой остаётся действительной. 0 и всё, что больше 30 дней, означает 30 дней.

fetchit.protection.rate_limit ​

  • По умолчанию: 10

Сколько раз одну форму можно отправить с одного адреса за окно лимита. 0 выключает лимит.

fetchit.protection.rate_window ​

  • По умолчанию: 600

Окно лимита в секундах. 0 выключает лимит.

fetchit.protection.log ​

  • По умолчанию: 1

Журнал защиты: 0 — ничего, 1 — проблемы и отказы, которые могут задеть людей, 2 — все отказы. Ошибки в настройках капчи и proof-of-work пишутся всегда.

fetchit.protection.proxies ​

  • По умолчанию: пусто

Доверенные прокси или CDN: IP-адреса или подсети CIDR через запятую. Нужны, чтобы лимит считался по адресу посетителя, а не по адресу прокси.

fetchit.protection.ip_header ​

  • По умолчанию: X-Forwarded-For

Заголовок, из которого доверенный прокси передаёт адрес посетителя, например CF-Connecting-IP.

fetchit.protection.pow ​

  • По умолчанию: 0

Сложность proof-of-work в битах. 0 выключает, больше 24 не бывает. Форму без JavaScript при включённом proof-of-work отправить нельзя.

Капча ​

Подробно: Капча.

fetchit.captcha ​

  • По умолчанию: пусто

turnstile, recaptcha или smartcaptcha. Пусто — капчи нет.

fetchit.captcha.site_key ​

  • По умолчанию: пусто

Ключ сайта из кабинета сервиса капчи.

fetchit.captcha.secret_key ​

  • По умолчанию: пусто

Секретный ключ из кабинета сервиса капчи. Пока не заданы оба ключа, капча не включается, а в журнал пишется, чего не хватает.

fetchit.captcha.min_score ​

  • По умолчанию: 0.5

Только для reCAPTCHA v3: минимальная оценка от 0 до 1, ниже которой отправка отклоняется.