
FAQ и траблшутинг
Сжатые ответы по типовым ситуациям. Развёрнутый FAQ, примеры и edge cases — в репозитории дополнения: docs/faq.md.
Методы доставки не появляются
- Заполнены
msrussianpost_sender_indexиmsrussianpost_object_codes. - На странице заказа порядок вывода:
msrpLexiconScript→msRussianPost→ чанки статуса и методов (сниппеты некэшированные: Fenom{'…' | snippet}, теги[[!…]]). - Есть поле индекса получателя (6 цифр):
name="index",data-msrp-indexили свой селектор в параметре сниппета. - В консоли и во вкладке Network нет ошибок, а запрос к
connector.phpвозвращает JSON сsuccess: true.
См. также Быстрый старт (блок «Шаг 3: Виджет в чанке заказа») и Интеграция → отладка.
В логе: Failed to load delivery controller for delivery ID=…
У доставки в поле class должно быть полное имя msrussianpost\Delivery\RussianPostDelivery. Класс наследует контроллер доставки MiniShop3.
Файл core/components/msrussianpost/bootstrap.php ядро подключает при инициализации пространства имён, то есть до OnMODXInit, и он сам подгружает файл класса. Плагин msRussianPost Autoload эту задачу дублирует, поэтому он не обязателен: если класс не загрузился, стоимость доставки может остаться 0, а событие msOnGetDeliveryCost не вызовется, и плагин Delivery не сработает.
Подробнее — в Интеграция → Плагины.
Установка падает с Package provider not found
Транспортный пакет зашифрован: установщик берёт ключ расшифровки у провайдера modstore.pro. Добавьте провайдер в Система → Управление пакетами → Провайдеры с URL https://modstore.pro/extras/, email и API-ключом из личного кабинета modstore.pro, затем укажите его в Show Details при установке. Загрузка архива вручную не помогает: содержимое категории остаётся зашифрованным. Шаги — в разделе Быстрый старт → Провайдер ModStore.
В менеджере MS3 не видно выбранного типа отправления
Нужен плагин msRussianPost Order tariff (события msOnSubmitOrder, msOnBeforeCreateOrder, msOnCreateOrder): он переносит выбор из сессии (в т.ч. после action=select_method в коннекторе) в ms3_orders.properties. Убедитесь, что плагин опубликован и подписан на все три события после обновления пакета.
На чекауте актуальный russianpost.js после отрисовки методов вызывает сохранение выбора, чтобы пользователь успел до «Оформить» без обязательного ручного change на радиокнопке.
Блок «Выбранный тариф Почты России» в самой карточке заказа добавляет скрипт manager-order-tariff.js, его подключает плагин msRussianPost Autoload в контексте mgr. Данные он берёт запросом action=get_order_tariff по номеру заказа, а подпись услуги подставляет из msrussianpost_object_codes, если покупатель не выбрал метод вручную. Блока нет, когда плагин Autoload выключен.
Что отправляется на metrics.modx.pro
При установке и при обновке резолвер пакета один раз отправляет обезличенные сведения о среде: версии MODX, PHP и SAPI, MiniShop3, pdoTools, тип и версия базы данных, семейство ОС, веб-сервер, версия пакета, тип установки и язык контекста по умолчанию. Домен, IP-адреса и данные заказов не передаются, таймаут запроса 2 секунды.
Системной настройки для отключения в пакете нет. Убрать отправку можно только на уровне сервера: правило firewall или запись в hosts для metrics.modx.pro. Подробнее — в разделе Быстрый старт → Установка.
Нет подсказок адреса / города (как в старом msRussianPost)
В msRussianPost нет встроенного DaData. Установите mxDadata, настройте токен в его системных настройках, выведите [[!mxDadataAddressSuggest]] до msrpLexiconScript и msRussianPost. После выбора подсказки срабатывает mxdadata:order-address-updated — виджет Почты России пересчитывает тарифы. Пошагово — Подключение на сайте → mxDadata. Техническая связка с ms3Hooks — Интеграция с хуками MiniShop3.
Кэш
После любого изменения системных настроек компонента или смены режима API очистите кэш: кнопка на Extras → Почта России или Настройки / Управление → Очистить кэш. Кэш не сбрасывается автоматически при правке настроек — см. раздел Кэш и журнал в системных настройках.
Пустой виджет или лоадер
Частые причины: две обёртки с классами .msrp__status / .msrp__methods, дубликаты таких блоков вне .msrp__wrapper, индекс не из 6 цифр. См. Подключение на сайте.
Что дальше
- Системные настройки — API, вес, коды объектов
- Админка в MODX — тестовый расчёт, журнал, справочник
- Подключение на сайте → mxDadata — автокомплит адреса
- Интеграция — режимы API, события
