minishop2 вытащить для плагина данные заказа по id

как в плагине самописном по АПИ вытащить данные заказа, зная ID этого заказа
события из минишопа не используются
alexandr.skyrda
24 ноября 2021, 19:07
modx.pro
67
0

Комментарии: 7

Артур
24 ноября 2021, 21:45
0
$order = $modx->getObject('msOrder', $id);
Тодор
24 ноября 2021, 23:23
0
Абсолютно все данные о заказе (вроде):
$order = $modx->getObject('msOrder', $orderID);
$output = array(
    'order' => $order->toArray(),
    'user' => $order->User->toArray(),
    'profile' => $order->UserProfile->toArray(),
    'address' => $order->Address->toArray(),
    'delivery' => $order->Delivery->toArray(),
    'payment' => $order->Payment->toArray(),
    'status' => $order->Status->toArray(),
    'products' => []
);
foreach($order->Products as $product){
    $output['products'][] = $product->toArray();
}

print_r($output);
    alexandr.skyrda
    24 ноября 2021, 23:33
    0
    мне надо было вытащить именно доп поля extfld, которые я создавал
      Артур
      24 ноября 2021, 23:39
      0
      Не знаю как ты создавал дополнительные поля, но предположу, что по инструкции из сети, и тогда, скорее всего, данные сохраняются в поле properties в формате json, в этом случае можно из получить так
      $extFields = json_decode($order->get('properties'),1); // в результате получишь массив
        alexandr.skyrda
        24 ноября 2021, 23:44
        0
        доп поля делал по этой инструкции
        в плагине так вытаскивал

        $order = $modx->getObject('msOrderAddress', array('id'=> $properties['id']));
        $prop = $order->get('properties');
        и дальше из массива prop брал поля нужные, по идее правильно, по крайней мере работает)
        Тодор
        25 ноября 2021, 00:08
        0
        $order = $modx->getObject('msOrder', $orderID);
        $prop = $order->Address->get('properties');
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7