Skip to content
msRussianPost2
msRussianPost2
Расчёт доставки Почтой России для MODX 3 и MiniShop3
  1. Компоненты
  2. msRussianPost2
  3. FAQ и траблшутинг

FAQ и траблшутинг

Сжатые ответы по типовым ситуациям. Развёрнутый FAQ, примеры и edge cases — в репозитории дополнения: docs/faq.md.

Методы доставки не появляются

  1. Заполнены msrussianpost2_sender_index и msrussianpost2_object_codes.
  2. На странице заказа порядок вывода: msrpLexiconScriptmsRussianPost2 → чанки статуса и методов (сниппеты некэшированные: Fenom {'…' | snippet}, теги [[!…]]).
  3. Есть поле индекса получателя (6 цифр): name="index", data-msrp-index или свой селектор в параметре сниппета.
  4. В консоли и во вкладке Network нет ошибок; запрос к connector.php возвращает JSON с success: true.

См. также Быстрый старт (блок «Шаг 3: Виджет в чанке заказа») и Интеграция → отладка.

В логе: Failed to load delivery controller for delivery ID=…

У доставки в поле class должно быть полное имя msrussianpost2\Delivery\RussianPostDelivery. Класс должен наследовать контроллер доставки MiniShop3.

Включите плагин msRussianPost2 Autoload (OnMODXInit): он подгружает файл класса до обращения MS3. Если контроллер не загрузился, стоимость доставки может остаться 0, а событие msOnGetDeliveryCost не вызовется — плагин Delivery в этом случае не сработает.

Подробнее — в Интеграция → Плагины.

В менеджере MS3 не видно выбранного типа отправления

Нужен плагин msRussianPost2 Order tariff (события msOnSubmitOrder, msOnBeforeCreateOrder, msOnCreateOrder): он переносит выбор из сессии (в т.ч. после action=select_method в коннекторе) в ms3_orders.properties. Убедитесь, что плагин опубликован и подписан на все три события после обновления пакета.

На чекауте актуальный russianpost.js после отрисовки методов вызывает сохранение выбора, чтобы пользователь успел до «Оформить» без обязательного ручного change на радиокнопке.

Нет подсказок адреса / города (как в старом msRussianPost)

В msRussianPost2 нет встроенного DaData. Установите msDadata2, настройте токен в его системных настройках, выведите [[!msDadata2AddressSuggest]] до msrpLexiconScript и msRussianPost2. После выбора подсказки срабатывает msdadata2:order-address-updated — виджет Почты России пересчитывает тарифы. Пошагово — Подключение на сайте → msDadata2; техническая связка с ms3HooksИнтеграция с хуками MiniShop3.

Кэш

После любого изменения системных настроек компонента или смены режима API очистите кэш: кнопка на Extras → Почта России или Настройки / Управление → Очистить кэш. Кэш не сбрасывается автоматически при правке настроек — см. раздел Кэш и журнал в системных настройках.

Пустой виджет или лоадер

Частые причины: две обёртки с классами .msrp__status / .msrp__methods, дубликаты таких блоков вне .msrp__wrapper, индекс не из 6 цифр. См. Подключение на сайте.

Что дальше