Skip to content
msFastOrder
msFastOrder
Быстрый заказ в один клик через модальное окно для MODX 3 и MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. msFastOrder
  3. FAQ

FAQ msFastOrder ​

Кнопка не появляется ​

Причины:

  • Ресурс не класса msProduct или нет записи Data у товара.
  • Параметр &id указывает на несуществующий или не товарный ресурс.
  • Сниппет вызван кэшированно — используйте [[!msFastOrder]] / {'!msFastOrder' | snippet}.

Проверка: сниппет должен выполняться на странице товара MS3. В HTML должна быть разметка кнопки с data-msfo-trigger.

Модалка не открывается ​

  1. Консоль браузера — ошибки 404 на msfo.min.js / msfo.min.css.
  2. Настройка msfastorder_assets_url и файлы в assets/components/msfastorder/.
  3. Для msfastorder_modal_library=bootstrap или fancybox — библиотека подключена на странице.

Product load error: Unexpected token '<' ​

Connector вернул HTML (PHP-ошибка), а не JSON.

ПричинаДействие
Неверный путь к config.core.phpВ connector.php должно быть dirname(__FILE__, 4)
Fatal в MS3 / msFastOrderОткройте тело ответа в Network → connector.php
Нет сниппета на страницеОбычно 403 JSON, не HTML — но проверьте вызов [[!msFastOrder]]

HTTP 403 при отправке формы ​

  • На странице перед отправкой был вызван msFastOrder или msFastOrderClientConfig.
  • В POST уходит csrf_token из window.msfoConfig.csrfToken (не устаревший из кэша страницы).
  • Плагин msfastorder_web включён.

После очистки кэша MODX обновите страницу товара (жёсткое обновление в браузере).

Ошибка валидации телефона ​

  • Сверьте msfastorder_phone_mask с форматом ввода.
  • При msfastorder_prefix_enabled=1 — msfastorder_prefix_country, msfastorder_prefix_length.

Серверная валидация строже клиентской — см. msfastorder_required_fields в настройках.

Заказ MS не создаётся ​

  • MiniShop3 установлен и инициализирован.
  • msfastorder_payment_id и msfastorder_delivery_id — существующие активные ID в MS3.
  • Журнал ошибок MODX, префикс [msFastOrder].
  • Временно msfastorder_debug=1 на staging.

После order/create в data.payment_link ожидается непустая строка.

СимптомЧто проверить
Поле пустоеmsfastorder_method=MS, активные payment/delivery ID
Ссылка на «Спасибо», нужна ЮKassaВ msfastorder_payment_id — способ с классом YooKassa. Установлен msp3YooKassa
Статус заказа не «оплачен»Webhook ЮKassa и ключи msp3YooKassa
Нет кнопки «Оплатить»payment_link в ответе. Не ломайте renderSuccess без кнопки

Пошагово: Интеграция → ЮKassa.

Режим MAIL — письмо не приходит ​

  • Заполнен msfastorder_email_manager.
  • Настроен SMTP / sendmail в MODX.
  • Папка «Спам», лог modMail.

Вариант товара не учитывается ​

  • Класс формы ms3variants-product-{id}.
  • Поле ms3variant_id обновляется при смене варианта.
  • Сначала выберите вариант на странице, затем «в 1 клик».

Интеграция → ms3Variants.

Изменения в чанке msfo_form не видны ​

Форма в модалке строится в JS (renderForm), success — renderSuccess. Чанки — эталоны.

Подключение на сайте → форма, Чанки.

Неверное количество в каталоге ​

Используйте класс с ID товара:

fenom
<input type="number" name="count" class="msfastorder-count-{$id}" value="1" min="1">
modx
<input type="number" name="count" class="msfastorder-count-[[+id]]" value="1" min="1">

HTTP 429 ​

Превышен rate limit на order/create. Настройки: msfastorder_rate_limit_attempts, msfastorder_rate_limit_window.

На staging при msfastorder_debug=1: POST action=rate-limit/reset — AJAX API.

Ошибка «Поле "" обязательно» ​

Обновите пакет msFastOrder через ModStore до актуальной версии — в клиенте должны подставляться подписи из msfoConfig.lexicon.field_*.

Логи и отладка ​

Таблица msfastorder_logs:

sql
SELECT * FROM msfastorder_logs ORDER BY created_at DESC LIMIT 20;

AJAX: Network → connector.php → JSON success, message, errors, debug.