Skip to content
  1. Компоненты
  2. PageBuilder
  3. Каталог секций
  4. Pro
  5. Квиз

Квиз

Многошаговый квиз: ответы, контакты, опциональный расчёт цены, письмо на email. Сниппет PageBuilderQuiz из шаблона не вызывайте: его вызывает FetchIt из чанка секции.

Информация

Требуются PageBuilder Pro и FetchIt.

Зачем квиз

  • Сбор лида по шагам без отдельного конструктора квизов
  • Режим pricing с живой суммой и price_delta у опций
  • Режим survey без контактного шага по умолчанию

Что нужно заранее

  1. Transport pagebuilderpro и capability pro.
  2. Дополнение FetchIt. Без него секция показывает «Форма временно недоступна. Установите FetchIt.»
  3. Получатель: поле Notify email в секции или системная настройка emailsender.

Добавить секцию

  1. Ресурс → вкладка СекцииДобавить секцию.
  2. В каталоге откройте Quiz (категория conversion).
  3. Либо вкладка Примеры → пресет Quiz: расчёт кухни (quiz-kitchen): mode pricing, три шага, контакты, quiz_key = kitchen.

После вставки пресета поля можно править. Вкладка Примеры видна при pagebuilder_catalog_examples_enabled.

Типичные страницы

Похожие секции

Параметры блока

ПараметрЗначение
keyquiz
СлойPro
Категорияконверсия (conversion)
Chunkpagebuilderpro_quiz
Требованияpro, FetchIt

Поля в редакторе

Mode (mode)

Тип select. lead: шаги и контакт. pricing: то же плюс сумма. survey: шаги, контакт по умолчанию выключен. Неизвестное значение обработчик считает lead.

Cover

ПолеТипНазначение
title, introtext / textareaОбложка
cover_imageimageОпционально
start_as_panelyesnoCover как первая панель wizard с кнопкой Start
start_labeltextТекст кнопки на cover
base_price, currency_suffixnumber / textТолько при mode = pricing

Steps (steps)

Тип repeater. Обязательное.

ПолеПравило
titleОбязательно
typesingle (radio), multi (checkbox), text, info
requiredПустой required-шаг блокирует Далее и submit. Для info игнорируется
optionsДля single / multi: label, image, price_delta (в сумму только в pricing)

POST: answer[stepIndex] или answer[stepIndex][]. В POST уходят индексы опций. В письме подставляются labels.

Contact

ПолеПравило
contact_enabledЕсли не задано: вкл. для lead/pricing, выкл. для survey
contact_fieldsКак у contact_form: name, label, type, required. Имя поля: [a-z][a-z0-9_]*
consent_textТекст 152-ФЗ под полями (абзац, без checkbox)
success_message, redirect_urlПосле успеха. Редирект через 800 ms
quiz_keyОбязателен. POST pb_quiz_key. На странице ключи уникальны
notify_emailПолучатель. Пусто → emailsender

Ответы посетителя в published_json не пишутся. В JSON секции только схема.

Labels

submit_label, prev_label, next_label, contact_title, total_label перекрывают лексикон pagebuilder:frontend.

Сохранить и проверить

  1. Сохранить ресурс MODX публикует published_json. Handler читает published, если publishedRevision > 0, иначе черновик.
  2. В шаблоне уже должен быть [[!PageBuilder]].
  3. На фронте: шаги, прогресс, в pricing живой итог, контакт и Отправить.

Что видит посетитель

Секция pb-quiz с wizard-панелями. AJAX через FetchIt → PageBuilderQuiz.

Письмо

Тема: PageBuilder quiz ({quiz_key}). Тело: ключ, mode, pagetitle, ответы, в pricing строка Estimate, контакты. Сумма: base_price + price_delta выбранных опций.

Fallback

СостояниеUI
FetchIt не установленСообщение о недоступности формы
HoneypotТихий success без письма
Ошибка валидацииFetchIt error + переход к панели с ошибкой
Нет секции с quiz_keypagebuilder_fe_quiz_not_found

JSON-определение

PageBuilderPro/core/components/pagebuilderpro/sections/quiz.json

Пресет: .../sections/presets/quiz-kitchen.json

Связанные страницы