Skip to content
GoogleSheets
GoogleSheets
Импорт и экспорт товаров / ресурсов / заказов / пользователей
  1. Компоненты
  2. GoogleSheets
  3. Экспорт
  4. Заказы

Заказы (msOrder)

Стандартные поля

ПолеНазвание
idId Заказа
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;
}

Примеры

  1. Получаем все заказы со статусом 2 (Оплачен)

    php
    <?php
    if ($modx->event->name == 'gsOnBeforeGetOrders') {
      $query->where(array('status' => 2));
    }
  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);
    }