1990
23.69
28.43
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Версия
0.4.0-pl
Дата выпуска
05.08.2026
Загрузки
0
Просмотры
137
Внимание, этот компонент несовместим с MODX 3.
Задача
Менеджерам нужен доступ к заказам боевого магазина, но пускать их в его админку нельзя.Что делает
- Ставится на отдельный сайт и показывает заказы miniShop2 с одного или нескольких удалённых магазинов — привычной сеткой заказов, как в родной админке.
- Позволяет менять статусы, редактировать заказ и его состав, работать со справочниками — все действия уходят на удалённый сайт по API.
- Заказы не копируются в локальную базу: приёмник ничего не хранит и не расходится с источником.
- Доступ выдаётся группам пользователей MODX, а на стороне магазина действия ограничены правами miniShop2.
- Обмен идёт по токенам, а не по общему паролю: токен получают автоматически и обновляют по истечении.
- MODX Revolution 2.x, PHP 7.4+
- miniShop2 4+
- На стороне магазина — пакет msOrderTranslator и mxApi
msOrderReceiver changelog
0.4.0-pl
- Приёмник ходит на передатчик через mxApi, а не через собственный Basic Auth. TranslatorClient заменён на MxApiClient: токен по client_credentials, кэш токена до истечения (минус минута запаса), один повтор при 401 и заголовок X-MxApi-Actor с логином менеджера stage — без него в аудите прода все действия сливались бы в одну служебную учётку.
- Коннектор описывает клиента mxApi: поля auth_user/auth_pass переименованы в client_key/client_secret (колонки переименовываются при апгрейде, реквизиты не теряются), endpoint_path по умолчанию — assets/components/mxapi/index.php.
- Адаптер конверта: mxApi отдаёт {success, data, meta.total}, гриды ExtJS ждут {results, total}. Списки уходят строкой JSON, объекты и записи — массивом: modConnectorResponse достраивает форменный конверт только для тела-массива, и на строке форма падала на JSONReader.readRecords (инцидент 2026-05-22).
- Смещение страницы: гриды присылают start, публичный контракт mxApi ждёт offset. Незаявленные свойства эндпоинт отбрасывает, поэтому без переименования пагинация молча схлопывалась на первую страницу.
- Справочники ходят на именованные маршруты /ms2/refs/*, режим «прислать имя процессора» удалён. Операции с позицией заказа адресуются внутри заказа (/ms2/orders/{order_id}/products/{id}), поэтому грид товаров передаёт order_id и для get/remove.
- Исправлен буквальный баг в ConnectorService::buildUrl: в паттерне '#index.php($|[?#])#' символ # из класса [?#] закрывал разделитель регулярки, вызов валился с «Unknown modifier ']'» и писал предупреждение в error log на каждый запрос. Разделитель заменён на ~.
- Поля meta, кроме total/limit/offset, разворачиваются в корень списочного ответа: сводку над гридом (num, sum, month_total, month_sum) панель читает оттуда, как у штатного getlist miniShop2.
- Контроллер страницы заказов переведён на MxApiClient: он тянул удалённый TranslatorClient и страница падала с Fatal error (нашлось только браузерной проверкой — runProcessor-smoke этот путь не задействует).
- Настройки Basic Auth (auth_user, auth_pass) удаляются из базы при установке: они больше не читаются, но выглядели рабочими реквизитами и хранили старый пароль открытым. Области настроек подписаны, описание базового URL приведено к точке входа mxApi.
- Требуется mxApi на передатчике и настроенный клиент интеграции (scopes ms2.orders.read/write/delete + ms2.refs.read, contexts ["mgr"]).
0.3.1-pl
- Product picker is filtered by the order context.
0.3.0-pl
- Reference data (statuses, deliveries, payments, users) and products are read
from the active transmitter instead of the local stage: generic mgr/refs/proxy
- combo override over ms2.combo.js.
- Order/product grids no longer save column state (stateful:false) so the column order always follows the transmitter config.
0.2.2-pl
- Grid columns follow the transmitter list exactly; helper fields stay store-only.
- Row action titles re-localized via the receiver lexicon (no raw keys in the context menu); column header fallback labels (RU/EN); customer and product cells are plain text (no cross-site links).
0.2.1-pl
- Guard the connector URL against a corrupted endpoint path.
0.2.0-pl
- Connector form: clearer hints, required fields, no placeholder saved.
0.1.0
- Manager orders page (list/card/log/products, mass actions) proxied to the transmitter; local stage permissions (msorder_*) gate every action.
- Multi-connector: msorConnector table, CRUD page (Передатчики), per-group ACL, active connector in session, transmitter switcher; legacy single-connector settings as fallback.
- Configurable columns fetched from the transmitter; clearing order fields via update; assorted form-submit and i18n fixes (RU/EN lexicons).




Последние обсуждения в сообществе MODX.pro