
- MODX 3
- PHP 8.2
- Vue 3


Обработчик AJAX-отправки секции Pro form_builder. Чанк вызывает его через PageBuilderFetchIt. Из шаблона ресурса сниппет не вызывайте.
form_builder с тем же ключом схемы. Берёт опубликованный документ, если publishedRevision > 0, иначе черновик.Письмо всегда попадает в outbox. Получатель равен полю email схемы. Пустое поле отправляет на emailsender.
Webhook попадает в outbox, только если webhook непустой. Отправка идёт только на URL https://.
После commit ошибка отправки JSON успеха не меняет.
Заявки в БД не хранятся. Нужна capability forms.
Чанк pagebuilderpro_form_builder передаёт в PageBuilderFetchIt свойства snippet = PageBuilderFormBuilder и form = pagebuilderpro_form_builder_fields.
Отдельных свойств для вызова из шаблона нет. POST формы:
| Поле | Назначение |
|---|---|
pb_form_key | Ключ схемы. Пустой ключ даёт ошибку валидации |
pb_csrf | Токен. Неверный токен: CSRF token is invalid. |
nospam | Honeypot. Заполненное поле отвечает success и письмо не шлёт |
pageId | Необязательный id ресурса со страницы формы. Имеет приоритет над resource_id в свойствах FetchIt |
resource_id страницы, где искать секцию. Тот же порядок, что у PageBuilderContactForm и PageBuilderQuiz:
| Источник | Приоритет |
|---|---|
POST pageId | 1 |
свойство resource_id в action FetchIt | 2 |
| текущий ресурс MODX | 3 |
Чанк передаёт в action ключи form_key, form_csrf, successMessage и validationErrorMessage. form_csrf в action важнее токена сессии.
| Ситуация | Ответ |
|---|---|
| Нет секции или схемы | pagebuilder_fe_form_not_found |
Нет capability forms | pagebuilder_fe_form_unavailable |
| Слишком частые запросы | Too many requests. |
| Прямой вызов обработчика без PageBuilderFetchIt | JSON с pagebuilder_fe_fetchit_unavailable |
| Отрисовка формы без FetchIt | Чанк показывает pagebuilder_fe_form_unavailable, см. PageBuilderFetchIt |
| Пакет | Зачем |
|---|---|
| pagebuilderpro | Секция form_builder, capability forms |
| FetchIt | AJAX и ошибки в полях |