
Заказы (msOrder)
Стандартные поля
| Поле | Название |
|---|---|
| id | Id Заказа |
| user_id | Покупатель (id) |
| createdon | Дата создание заказа |
| updatedon | Дата обновление заказа |
| num | Номер заказа |
| cost | Общая цена с доставкой |
| cart_cost | Стоимость покупок |
| delivery_cost | Цена доставки |
| weight | Вес |
| status | Статус (id) |
| delivery | Доставка (id) |
| payment | Оплата (id) |
| context | Контекст |
| comment | Комментарий менеджера |
Модификации полей
| Поле | Название |
|---|---|
| status_name | Статус (название) |
| delivery_name | Доставка (название) |
| payment_name | Оплата (название) |
Address
| Поле | Название |
|---|---|
| address_receiver | Получатель |
| address_phone | Телефон |
| address_country | Страна |
| address_index | Почтовый индекс |
| address_region | Область |
| address_city | Город |
| address_metro | Станция метро |
| address_street | Улица |
| address_building | Здание |
| address_room | Комната |
| address_comment | Комментарий |
| address_properties | Дополнительные свойства |
User
Поддерживаются все стандартные поля пользователя, но с префиксом user_. Например: user_email,user_fullname
Список купленных товаров
| Поле | Название |
|---|---|
| products_(имя поля) | Список купленных товаров |
Например:
- products_id выведет список id товаров
- products_name выведет список названий товаров
Пример экспорта
Поля экспорта: id,num,user_username,status_name,cart_cost,products_name
Результат:

Системные события
Класс gsOrder генерирует следующие события:
php
<?php
switch($modx->event->name) {
// получение списка заказов
case 'gsOnBeforeGetOrders':
// $query - запрос выборки
// $range - название листа таблицы, куда будут экспортироваться данные
break;
case 'gsOnGetOrders':
// $orders - массив заказов со всеми полями
// $range - название листа
break;
}Примеры
Получаем все заказы со статусом 2 (Оплачен)
php<?php if ($modx->event->name == 'gsOnBeforeGetOrders') { $query->where(array('status' => 2)); }Преобразуем дату создания заказа createdon
php<?php if ($modx->event->name == 'gsOnGetOrders') { $modx->event->params['orders'] = array_map(function($order){ if (!empty($order['createdon'])) { $order['createdon'] = date("d-m-Y",strtotime($order['createdon'])); } return $order; }, $orders); }
