msGdePosilka - отслеживание перемещений посылок

Всем привет, ребята, представляю вашему вниманию новый компонент работающий с api сервиса «ГдеПосылка»:

Что может:
  • Интегрируется в заказы minishop2 добавляя новый таб в модальное окно заказа расширяя таблицу msOrder и добавляя новое поле
  • Собирает данные о перемещении посылки каждого из заказа
  • Отслеживает только те посылки, которые находятся в процессе доставки, перестает отслеживать посылки, которые были вручены адресату
  • Cron скрипт, который следит за базой перемещений и оповещает по email ваших клиентов при изменении статуса посылки
  • Кастомный вывод заказов в личном кабинете пользователя вот такой, только улучшеный
  • Вывод истории перемещений на фронтенд
Ну вот в принципе и все, что умеет компонент, купить его можно по цене 790р, под катом инструкция установки, галерея и раздача бесплатных копий пакета, велкам.

Галерея фотографий:

Установка:
  1. Первым делом получаем api от сервиса «ГдеПосылка»
  2. Устанавливаем компонент
  3. Заходим в системные настройки и в поле gdePosilkaToken вводим выданный нам токен
  4. В gdePosilkaMailSubject можно поменять тему письма, которое будет приходить пользователю
  5. В gdePosilkaDebugEmail можно указать свой email для тестирования компонента
  6. Поменяв gdePosilkaDebug на «да» все письма будут уходить не пользователям, а вам на личную почту,
    это необходимо для тестирования компонента
  7. Далее ставим в крон задание для автоматического обновления базы (путь до скрипта /core/components/msgdeposilka/cron/update.php), это выглядит примерно так: Я поставил обновление на раз в 7 часов, по мне это самое оптимальное время обновления, ниже ставить не рекомендую, если у вас большое количество заказов, зачем дразнить щедрые лимиты сервиса «ГдеПосылка», не так ли? :)
  8. Письмо пользователям вы можете редактировать через чанк gdePosilkaMail
Теперь в бэкэнде должно все работать, вы можете использовать это поле в email'ах пользователям при изменении статуса посылки, доступно оно по плейсхолдеру {$track} и применимы к нему те же правила, что и для поля {$comment}, у меня к примеру вот такое условие в чанке писем покупателей:

{if $track}
    Ваш трек номер: {$track} <br />
    Мы будем оповещать вас о перемещениях вашей посылки по email, а также историю перемещений вы можете посмотреть в личном кабинете
  {/if}

Также должно появиться поле и новый таб в модальном окне заказа, если не появился нажмите ctrl+f5


Установка на фронтенде:
  1. Подключаем скрипты и стили компонента, а также подключаем FancyBox3, если он не был подключен ранее
    <script src="/assets/components/msgdeposilka/js/web/customOrders.js"></script>
    <link rel="stylesheet" href="/assets/components/msgdeposilka/css/web/customOrders.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.25/jquery.fancybox.min.css" />
  2. На странице покупок пользователей выводим чанк
    [[!$UserOrders]]


  3. Немного оффтопа о бесплатной раздаче, жизни, вселенной и вообще:
    Я писал что не буду выкладывать компонент в modstore и доведу серию обучающих статей до конца, но увы, у заказчика появилось множество идей по ходу разработки, а тот, кто платит и музыку заказывает как известно. В общем сложность компонента давно перевалила за границу «Для новичков» и даже если бы я пытался описать как сделать также, то вышла бы копия статьи Василия, а зачем писать о том, о чем уже написали?
    В общем чтобы не обижались люди, которые ждали продолжение статьи и проявляли активность в комментариях — отпишитесь тут, я пришлю вам пакет дополнения на почту + раздам первым 3ем комментаторам, дочитавшим до конца :) Просто напишите Хочу компонент

    Компонент появится в магазине в течении трех дней, я надеюсь
    Внимание! Корректность верстки вывода заказов на фронтенд я НЕгарантирую (хоть и тестировал на чистом проекте), скорее всего что-то, но вам придется подправить, потому что я не пользуюсь вашими бутстрапами и вся верстка сделана на флексах
Pavel Zarubin
01 ноября 2017, 13:39
modx.pro
1
3 406
+7
Поблагодарить автора Отправить деньги

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

Михаил
01 ноября 2017, 17:26
+2
ХОЧУ КОМПОНЕНТ!!!
Антон
01 ноября 2017, 17:44
0
Хочу компонент
mngatoff
01 ноября 2017, 17:45
0
Хочу компонент! :)
    mngatoff
    01 ноября 2017, 17:45
    0
    и да, я дочитал до конца))
      Pavel Zarubin
      01 ноября 2017, 19:57
      +2
      Отписался
      Андрей
      01 ноября 2017, 19:02
      0
      Хочу компонент!!!
      Евгений
      01 ноября 2017, 20:05
      0
      Хочу компонент!
        Pavel Zarubin
        01 ноября 2017, 20:09
        +2
        Раздача закончена, я писал что отправлю 3ем людям, но отправил 4, т.к. Миша в теме и помог пару раз разработке, ждите появления его в магазине :)
          Евгений
          01 ноября 2017, 20:12
          0
          Значит будем ждать, спасибо)
            Николай Савин
            02 ноября 2017, 00:31
            +1
            чье появление, Мишино или компонента? ))
              Pavel Zarubin
              02 ноября 2017, 00:52
              +2
              Миша не продается) Компонента :)
          Сергей Кепкин
          01 ноября 2017, 21:04
          0
          Хочу компонент
            Pavel Zarubin
            07 ноября 2017, 13:37
            0
            Дополнение опубликовано в магазине
              Владимир Тельнов
              30 июня 2018, 01:35
              0
              Данный компонент меняет заказа статус заказа?
              Этапы движения посылки можно как то сопоставить со статусами заказа?
              Например, необходимо, что бы статус заказа менялся на «Выполнен» после того как посылка была вручена.
                Pavel Zarubin
                30 июня 2018, 02:21
                -1
                Нет, и такой функционал не предвидится без дополнительного финансирования, т.к. компонент не обрел свою популярность. Компонент лишь умеет оповещать клиента магазина об изменении статуса заказа, а также показывает историю перемещений в самом заказе.
                  Андрей
                  30 июня 2018, 02:23
                  0
                  Например, необходимо, что бы статус заказа менялся на «Выполнен» после того как посылка была вручена.
                  Как посылка будет вручена, будут отправлены специально обученные голуби, чтобы сменить статус заказа.
                    Pavel Zarubin
                    30 июня 2018, 02:26
                    0
                    Не понимаю вашего сарказма, ГдеПосылка после вручения отдает то что посылка была вручена, функционал смены статуса делается за 2-3 строчки кода.
                  Семён Лобачевский
                  22 сентября 2018, 10:32
                  0
                  Добрый день!

                  Спасибо за отличный компонент!
                  Пытаюсь настроить, но при запуске скрипта по крону выдаёт следующее:
                  PHP Fatal error:  Uncaught Error: Call to a member function log() on null in /www/core/components/msgdeposilka/model/msgdeposilka/msgdeposilka.class.php:176
                  Stack trace:
                  #0 /www/core/components/msgdeposilka/model/msgdeposilka/msgdeposilka.class.php(147): MsGdePosilka->getTrackerName('LZ009818636CN')
                  #1 /www/core/components/msgdeposilka/cron/update.php(17): MsGdePosilka->createTracker(Object(msOrder_mysql))
                  #2 {main}
                    thrown in /www/core/components/msgdeposilka/model/msgdeposilka/msgdeposilka.class.php on line 176
                  Буду благодарен за помощь!
                    Pavel Zarubin
                    22 сентября 2018, 13:38
                    +1
                    Добрый день, напишите мне пожалуйста в телеграмм:
                    t.me/slexkap
                      Семён Лобачевский
                      22 сентября 2018, 20:41
                      0
                      Спасибо, но всё заработало, оказывается сервис gdeposilka активирует доступ к API при первом запросе и то не сразу)
                    Vlad Brise
                    06 декабря 2018, 22:11
                    +3
                    Хорошее дополнение
                      Сергей Карпович
                      16 апреля 2021, 17:18
                      0
                      Ребята, как скачать компонент? В Менеджере макетов modstore подключен и выбран, а msGdePosilka не находится в каталоге
                        Pavel Zarubin
                        16 апреля 2021, 17:20
                        0
                        Проверьте сейчас или минут через 15, должно появится, дополнение давно не проверялось, было бы неплохо чтобы вы еще и отписались работает ли оно вообще
                          Сергей Карпович
                          16 апреля 2021, 17:32
                          0
                          спасибо, отпишусь как настрою и проверю работу
                            Сергей Карпович
                            19 апреля 2021, 10:21
                            +1
                            Компонент работает, спасибо.
                              Сергей Карпович
                              21 июня 2021, 17:47
                              0
                              Проблему обнаружил: в уведомлении о движении посылки не работает "{$track}", на почту он приходит как есть — {$track}.
                              Еще вопрос, можно ли как то вывести поле с треком на страницу заказа для клиента?
                              Я вывожу список заказов с помощью msListOrders и хочу в него встроить вывод трека и отображение пути посылки.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                            29