[msStatOrders] - Статистика заказов Minishop2

[msStatOrders] — Компонент реализует возможность отбора, сортировки заказов и продуктов заказа, реализованных в магазине. Вывод подробной информации и экспорт в файл.



Особенности
  • работа только с новым miniShop2 (version =>2.4.0-beta2)
[msStatOrders] в магазине

Компонент обновлен под новую версию miniShop2. Как и прежде доступны вкладки с заказами и продуктами заказа.

Вкладка заказы
В основном дублирует оригинальную вкладку, добавлен механизм фильтрации по колонкам таблицы.
За вывод колонок отвечает настройка msstatorders_grid_order_fields.
За фильтры настройка msstatorders_grid_order_filter_fields
{"customer":{"class":"UserProfile","field":"fullname"},"address_city":{"field":"city"}}
указываете ключ поля, алиас таблицы, название поля.
Возможно указать несколько значений для фильтрации через разделитель ||. Например нам нужно вывести заказы в город Ковров и Владимир — пишем в поле фильтрации «Ковров||Владимир».
Отрицание можно задать через знак !



Доступен вывод краткой информации о заказе


Вкладка продукты заказы
За вывод колонок отвечает настройка msstatorders_grid_product_fields.
За фильтры настройка msstatorders_grid_product_filter_fields
{"products_name":{"field":"name"},"products_options":{"field":"options"},"customer":{"class":"UserProfile","field":"fullname"},"address_city":{"field":"city"},"vendor_name":{"field":"name"}}
Все как и на предыдущей вкладке, так же добавлен функционал поиска по опциям продукта заказа.
Можно отсортировать продукты по цвету, размеру и тд.



Экспорт
Для экспорта доступна три формата — xlsx, ods, csv.
Нужный тип вы выбираете при диалоге экспорта. В отличии от предыдущей версии компонента — нет грида со списком файлов экспорта. Файлы генерируются в служебной директории и удаляются при очистке кэша сайта.
За что отвечает системная настройка msstatorders_clear_export_files, по умолчанию — да.

ps. Спасибо за внимание. И с Новым Годом друзья!!!
Володя
03 января 2017, 11:04
modx.pro
1
5 933
+12
Поблагодарить автора Отправить деньги

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

Гриборий
06 января 2017, 11:31
0
Интересная фича с фильтром по правому клику. Небось и добавляется просто параметром при описании колума? Хотелось бы поковырять. Отметишь возможность поставить на тестовый сайт?
    Володя
    06 января 2017, 11:52
    0
    Интересная фича с фильтром по правому клику. Небось и добавляется просто параметром при описании колума?

    не совсем, как плагин можно добавить. Пример можно тут посмотреть
    github.com/vgrish/gridfilters
    Хотелось бы поковырять. Отметишь возможность поставить на тестовый сайт?
    Есть на тесте, нет на тесте — это решает Василий.
Евгений Пашков
11 января 2017, 12:12
0
А существует решение для фильтрации по контексту?
    Володя
    11 января 2017, 13:13
    +1
    — настройка msstatorders_grid_order_fields — добавить поле
    context
    добавит колонку с полем
    — настройка msstatorders_grid_order_filter_fields — добавить поле
    "context":{}
    добавит фильтр для колонки

Артур
20 февраля 2017, 20:16
0
Добре всем.
Подскажите возможна ли сделать экспорт заказов в какой либо формат, для последующей работы над файлом?
В экспорте нужны данные:
1) номер заказа
2) Артикулы товаров
3) Наименование товаров
4) Цены товаров
5) Общая стоимость

Заранее благодарю, если нет Тогда вопрос чем можно реализовать это?
Магазин на minishop2 последний
    Володя
    20 февраля 2017, 20:23
    +1
    Привет.
    Для экспорта доступна три формата — xlsx, ods, csv.
    По настройке полей читайте описание, в файле экспорта доступны все активные колонки таблицы.
      Артур
      20 февраля 2017, 20:27
      0
      Отлично, большое спасибо.
      И еще один вопрос порос встречный, возможен ли импорт обратно, те заказы которые отработанные, чтобы при импорте отмечались как выполненные.

      Это для 1С
        Володя
        20 февраля 2017, 20:29
        0
        И еще один вопрос порос встречный, возможен ли импорт обратно, те заказы которые отработанные, чтобы при импорте отмечались как выполненные.
        нет, нет…
          Артур
          20 февраля 2017, 20:31
          0
          Все понял :) спасибо большое :) будем брать.
    Евгений Пашков
    07 июня 2017, 17:59
    0
    Добрый день.
    Сделал пару тестовых заказов, удалил пару тестовых заказов.
    Остался один заказ и такая картина:



    Что делаю не так?
    Спасибо.
      Володя
      07 июня 2017, 18:17
      0
      незнаю, пишите в ТП с указанием доступов к админке.
      ps. а вы обновили грид после удаления заказов? Просто странно, считает то он одни и теже заказы…
        Евгений Пашков
        07 июня 2017, 18:30
        0
        Обновлял. И даже состав заказа поменял.
        Как я понял проблема именно в в подсчете заказов, так как в вкладке «Продукты» — итоговая стоимость правильная.

          Володя
          07 июня 2017, 19:55
          +1
          обновите компонент и проверьте, должно быть нормально.
          Спасибо!
    tripolskiy
    21 июля 2017, 09:51
    0
    Здравствуйте!

    Хочу сделать выгрузку заказов вместе с товарами, чтобы в одном файле было видно кто, что и сколько заказал.
    Не понимаю как это сделать=(

    По-умолчанию выгружается набор товаров отдельной строкой, с суммой, но без указания кол-ва, и надо считать.

    Также, нужно сделать выгрузку самих товаров с количествами, заказанными за период.
      charset
      21 декабря 2017, 12:43
      0
      ну что? получилось сделать выгрузку списка товара? Мне тоже подобное нужно. Решение не нашлось?
        charset
        21 декабря 2017, 14:00
        0
        нашел, есть возможность выгружать список товара с указанием номера заказа и имени покупателя. Но нет колонки количество товара
        Дарья
        10 декабря 2017, 01:41
        0
        Доброго времени! Цель собирать упрощенно ( а не как сейчас заходя в каждый заказ и копируя из разных строк) email адреса и номера телефонов заказчиков, чтобы в дальнейшем использовать для рассылок. Поможет ли?
          Володя
          10 декабря 2017, 09:44
          0
          Доброе утро.
          Поможет ли?
          в настройку msstatorders_grid_order_fields добавляете profile_email,address_phone (адреса и номера телефонов) в таблице заказов выбираете активные колонки и нажимаете экспорт — получаете файлик с отобранными полями, экспортируете в сервис рассылки.
          Владимир
          24 декабря 2017, 14:57
          0
          а кол-во штук товаров в заказе можно также выгружать?
            Володя
            24 декабря 2017, 15:14
            0
            да, можно, добавить в настройку msstatorders_grid_order_fieldstotal_product
            start.exe
            02 апреля 2018, 16:24
            0
            С добавлением новых полей понятно — они добавляются в таблицу.
            Обращаюсь к разработчику и знающим пользователям — подскажите, где найти шаблон экспортируемой таблицы?

            Это необходимо для вывода суммы товаров в заказе, полной суммы заказа, автосуммы всех заказов в выгрузке. Или зря покупал, получается?
              Володя
              02 апреля 2018, 16:53
              0
              где найти шаблон экспортируемой таблицы?
              нет никакого шаблона экспортируемой таблицы. Массив данных с помощью библиотеки spout экспортируется в файл нужного формата.

              Если вам нужно обработать строку то можно использовать событие msStatOrdersOnPrepareExportRow
              например
              if (is_array($row) AND isset($row['createdon'])) {
                  $row['createdon'] = date('d.m', strtotime($row['createdon']));
                  
                  $modx->event->returnedValues['row'] = $row;
              }
              можно добавить аналогичное событие по завершению, для вставки информации в конец файла. Не более…

              Или зря покупал, получается?
              все компоненты доступны для тестиривания на modhost.pro/. Прежде чем что то покупать можно удостоверится нужно ли оно вам.
              Alexandr
              13 мая 2018, 23:14
              0
              Спасибо за компонент.
              Возникла следующая трудность. Мне нужно в колонку заказов либо товаров добавить два столбца: made_in и tags. Вроде бы оба из стандартного функционала minishop2.
              При добавлении в msstatorders_grid_order_fields либо в msstatorders_grid_product_fields product_made_in и product_tags в заголовке таблицы появляются правильные названия, но значения этих полей не выводятся. Как бы их, соответственно, вывести, и затем отфильтровать? Что я делаю не так?
                Володя
                14 мая 2018, 17:55
                0
                Добрый вечер.
                Мне нужно в колонку заказов либо товаров добавить два столбца: made_in и tags. Вроде бы оба из стандартного функционала minishop2.

                Естественно в таблице заказов их точно нет. В таблице товаров попробуйте как
                data_made_in и products_options
                  Alexandr
                  15 мая 2018, 10:39
                  0
                  Спасибо, data_made_in и data_tags — в целом работают, хотя _tags и выводятся массивом вида ['tag1','tag2']
                Alex
                30 июня 2018, 23:09
                0
                Добрый вечер.
                Купил данное дополнение.
                Извините за глупый вопрос, но как именно делается экспорт в файл?
                И где этот файл находится?
                  Володя
                  01 июля 2018, 12:01
                  0
                  Добрый день.
                  Извините за глупый вопрос, но как именно делается экспорт в файл?
                  зайти в раздел заказы, выбрать/ отфильтровать нужные и нажать экспорт.
                    Alex
                    01 июля 2018, 12:39
                    0
                    У меня нет кнопки Экспорт. Написал в техподдержку.
                      Володя
                      01 июля 2018, 12:52
                      0
                      Все на месте

                      Далее если нажмете экспорт появится окно с выбором типа файла экспорта.
                        Alex
                        01 июля 2018, 12:55
                        0
                        Спасибо за оперативность.
                  Alex
                  21 июля 2018, 22:25
                  0
                  Добрый вечер всем.
                  Почему в таблице и при импорте файла поля products_name,products_cost,products_options остаются пустыми? Если я правильно понимаю в них должна выводиться информация о товаре в заказе и его стоимости.
                    Александр
                    30 октября 2018, 14:28
                    0
                    если нужно экспортировать в excel список товаров в заказе как быть?
                    если в msstatorders_grid_order_fields добавить products — в компоненте выводятся объекты. а при экспорте — json.
                    а хотелось бы названия товаров в строку через запятую.

                    в связи с этим можно ли добавить в плагин обработку значений перед выводом? а там уже можно как угодно преобразовать как надо с помощью php. хотелось бы, получить что-то вроде
                    <a href="[[~{product_id_1}]]">{product_name_1}</a>, <a href="[[~{product_id_2}]]">{product_name_2}</a>
                      Володя
                      30 октября 2018, 14:34
                      +1
                      строку можно обработать на событие msStatOrdersOnPrepareExportRow
                      if (is_array($row) AND isset($row['createdon'])) {
                          $row['createdon'] = date('d.m', strtotime($row['createdon']));
                          
                          $modx->event->returnedValues['row'] = $row;
                      }
                        Александр
                        30 октября 2018, 14:35
                        0
                        спасибо. не нашел в доках :)
                      Игорь Терентьев
                      14 декабря 2018, 14:25
                      0
                      Можно ли в таблице заказов вывести поле properties? Или конкретный элемент массива из этого поля, например coupon_code.
                      Спасибо заранее!
                        Володя
                        17 декабря 2018, 09:10
                        0
                        Доброе утро.
                        Можно плагином на msStatOrdersOnPrepareObjectRow
                        <?php
                        /** @var array $scriptProperties */
                        /** @var $self */
                        /** @var $type */
                        if (!is_object($self) OR $self->classKey !== 'msOrder' OR $type !== 'getlist') {
                            return;
                        }
                        
                        $data = is_array($data) ? $data : array();
                        
                        $properties = is_array($data['properties']) ? $data['properties'] : json_decode($data['properties'], 1);
                        $data['coupon_code'] = isset($properties['coupon_code']) ? $properties['coupon_code'] : '';
                        
                        $modx->event->returnedValues['data'] = $data;
                        в настройку msstatorders_grid_order_fields добавить coupon_code
                          Игорь Терентьев
                          18 декабря 2018, 07:58
                          0
                          Спасибо огромное!
                            Александр
                            10 октября 2020, 19:08
                            0
                            дполню от себя. для тех, кто использует дополнение utmMark и нужен вывод меток по столбцам — нужно писать в плагине вместо properties — address_properties
                            <?php
                            / @var array $scriptProperties */
                            / @var $self */
                            /** @var $type */
                            if (!is_object($self) OR $self->classKey !== 'msOrder' OR $type !== 'getlist') {
                                return;
                            }
                            
                            $data = is_array($data) ? $data : array();
                            
                            $properties = is_array($data['address_properties']) ? $data['address_properties'] : json_decode($data['address_properties'], 1);
                            $data['utm_source'] = isset($properties['utm_source']) ? $properties['utm_source'] : '';
                            
                            $modx->event->returnedValues['data'] = $data;
                              Андрей Шевяков
                              18 января 2023, 11:08
                              0
                              А как можно установить заголовок для coupon_code, чтобы в таблице выводилось например «Промо-код»?

                            Андрей
                            17 января 2020, 15:13
                            0
                            Здравствуйте, а есть возможность вывести столбец родительской категории товара и по ней отфильтровать? Например, заказ апельсин в категории товаров фрукты:
                            1. Столбец категория(напротив апельсина надпись фрукты)
                            2. Сделать выборку по категории фрукты
                              Александр
                              28 октября 2020, 11:06
                              0
                              Добрый день, а есть возможность в вашем компоненте, да и вообще в принципе в modx вывести дату и время оплаты? Перехода заказа в статус Оплачен. Updatedon это совсем не то, да и не отображается в этом столбце ничего
                                Александр
                                28 октября 2020, 11:25
                                0
                                Иными словами получить вот это:
                                Дмитрий
                                21 июля 2023, 12:13
                                0
                                Добрый день! Есть возможность подружить данный компонент с msOrderFields? У меня в заказе создано много дополнительных полей с помощью msOrderFields и нужно как-то выводить в статистику и выгрузку данные из этих полей.
                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                  47