
Настройки компонента
Пространство имён в 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, ниже которой отправка отклоняется.
