Евгений Webinmd

Евгений Webinmd

Был в сети 31 июля 2026, 13:07
Заказы не принимаю
Поля разные;

$orderData = [
    'order'         => $msOrder->toArray(),
    'delivery'      => $msOrder->Delivery->toArray(),
    'payment'       => $msOrder->Payment->toArray(),
    'address'       => $msOrder->Address->toArray(),
    'user'          => $msOrder->User->toArray(),
    'user_profile'  => $msOrder->UserProfile->toArray(),
];


$modx->log(1,'Order data '.print_r($orderData, 1));

Товары:

if($orderProducts = $msOrder->getMany('Products') ) {              

    foreach ($orderProducts as $orderProduct) {
        $orderProduct->get('count'); 
        // ... поля товара в заказе 
        //$fields = $modx->getObject('msProductData', array('id' => $orderProduct->get('product_id'))        
    }

}
[[!pdoResources?
        &parents=`8`
        &resources=`[[+tv.soloistsList]]`
        &processTVs=`1`
        &prepareTVs=`1`
        &setTotal=`1`
        &tpl=`@CODE: [[+total]]`
        &toPlaceholder=`qq`
]]

Список ресурсов
[[+qq]]

Количество
[[+total]]

в tpl чанк ресурсов как обычно
ну тут не долго думая можно использовать 2 параметра из документации: toPlaceholders (тут будет список) и setTotal (тут будет количество результатов). Ну и в total уже будет число
есть модификатор
declension (decl) — склоняет слово, следующее за числом по правилам русского языка. Например: 1 яблоко, 2 яблока, 10 яблок. Вторым параметром указывается выводить ли само число, по умолчанию выводится только подходящий вариант слова. Разделитель вариантов можно задавать третьим параметром, по умолчанию |

{6 | declension : 'яблоко|яблока|яблок'} // яблок
{3 | declension : 'яблоко|яблока|яблок' : true} // 3 яблока
{101 | decl : 'яблоко,яблока,яблок' : false : ','} // яблоко