
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
- MODX 3
- PHP 8.2
- Vue 3


Обработчик AJAX-отправки секции Pro quiz. Чанк секции вызывает его через FetchIt. Из шаблона ресурса сниппет не вызывайте.
Проверяет ответы и контакты, считает сумму на сервере в режиме pricing, шлёт письмо через modMail, отвечает JSON FetchIt. Успех может содержать total, currency_suffix (по умолчанию ₽) и redirect_url.
Чанк pagebuilderpro_quiz вызывает PageBuilderFetchIt со свойствами snippet = PageBuilderQuiz и form = pagebuilderpro_quiz_form.
Отдельных свойств для вызова из шаблона нет. POST формы:
| Поле | Назначение |
|---|---|
pb_quiz_key | Ключ квиза из данных секции. Пустой ключ: ошибка валидации |
answer[...] | Ответы по шагам |
| контактные поля | Если включён блок контактов в секции |
nospam | Honeypot. Заполненное поле отвечает success, письмо не отправляется |
pageId | Необязательный id ресурса со страницы формы |
resource_id страницы, где искать секцию:
| Источник | Приоритет |
|---|---|
POST pageId | 1 |
свойство resource_id в action FetchIt | 2 |
| текущий ресурс MODX | 3 |
Чанк передаёт в action ключи quiz_key, successMessage и validationErrorMessage.
| Ситуация | Ответ |
|---|---|
Секция с тем же quiz_key не найдена | pagebuilder_fe_quiz_not_found |
| Прямой вызов обработчика без сервиса FetchIt | JSON с pagebuilder_fe_fetchit_unavailable |
| Отрисовка формы без FetchIt | Чанк показывает pagebuilder_fe_form_unavailable, см. PageBuilderFetchIt |
modMail не отправил письмо | pagebuilder_fe_form_send_error, письмо не считается отправленным |
| Пакет | Зачем |
|---|---|
| pagebuilderpro | Секция quiz |
| FetchIt | AJAX и ошибки в полях |