Описание функции
Подмешать shipments[] (ShipmentPublicDto) в плейсхолдеры сниппета ms3_get_order, как уже сделано в кабинете CustomerOrderService.
Проблема, которую решает
Публичный DTO отгрузки есть в Web API кабинета. Fenom-страница заказа (tpl.msGetOrder) трек не получает. В #605 сниппет не трогали: phpstan baseline для ms3_get_order.php фиксирует Access to property $services on an unknown class modX с count: 5. Лишние $modx->services ломают ignore.count.
Предлагаемое решение
Вынести чтение lifecycle в хелпер, который не увеличивает число $modx->services в сниппете. Либо один уже существующий $modx->services->get('ms3') прокинуть в метод Utils/сниппет-хелпер, который сам резолвит ms3_shipment_lifecycle.
Не поднимать baseline count. Не отдавать meta, provider, external_id.
После правки: composer stan без новых ignore.count, smoke/phpunit на форму плейсхолдера.
Альтернативные варианты
Поднять count в phpstan-baseline.neon с 5 до 7. Stan зелёный, сниппет обрастает обращениями к unknown modX.
Оставить только cabinet API. Классические Fenom-витрины без трека.
Примеры использования
{'ms3_get_order' | snippet : [
'tpl' => 'tpl.msGetOrder'
]}
{$shipments[0].tracking_number}
{$shipments[0].status}
Пустой массив, если отгрузки нет или сервис не зарегистрирован.
Дополнительный контекст
Описание функции
Подмешать
shipments[](ShipmentPublicDto) в плейсхолдеры сниппетаms3_get_order, как уже сделано в кабинетеCustomerOrderService.Проблема, которую решает
Публичный DTO отгрузки есть в Web API кабинета. Fenom-страница заказа (
tpl.msGetOrder) трек не получает. В #605 сниппет не трогали: phpstan baseline дляms3_get_order.phpфиксируетAccess to property $services on an unknown class modXсcount: 5. Лишние$modx->servicesломаютignore.count.Предлагаемое решение
Вынести чтение lifecycle в хелпер, который не увеличивает число
$modx->servicesв сниппете. Либо один уже существующий$modx->services->get('ms3')прокинуть в метод Utils/сниппет-хелпер, который сам резолвитms3_shipment_lifecycle.Не поднимать baseline count. Не отдавать
meta,provider,external_id.После правки:
composer stanбез новых ignore.count, smoke/phpunit на форму плейсхолдера.Альтернативные варианты
Поднять
countвphpstan-baseline.neonс 5 до 7. Stan зелёный, сниппет обрастает обращениями к unknownmodX.Оставить только cabinet API. Классические Fenom-витрины без трека.
Примеры использования
Пустой массив, если отгрузки нет или сервис не зарегистрирован.
Дополнительный контекст
phpstan-baseline.neonpathelements/snippets/ms3_get_order.php, identifierclass.notFound,$servicescount 5ShipmentPublicDto::fromRow()