
FAQ и траблшутинг
Сжатые ответы по типовым ситуациям. Развёрнутый FAQ, примеры и edge cases — в репозитории дополнения: docs/faq.md.
Методы доставки не появляются
- Заполнены
msrussianpost2_sender_indexиmsrussianpost2_object_codes. - На странице заказа порядок вывода:
msrpLexiconScript→msRussianPost2→ чанки статуса и методов (сниппеты некэшированные: Fenom{'…' | snippet}, теги[[!…]]). - Есть поле индекса получателя (6 цифр):
name="index",data-msrp-indexили свой селектор в параметре сниппета. - В консоли и во вкладке 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 цифр. См. Подключение на сайте.
Что дальше
- Системные настройки — API, вес, коды объектов
- Админка в MODX — тестовый расчёт, журнал, справочник
- Подключение на сайте → msDadata2 — автокомплит адреса
- Интеграция — режимы API, события
