К содержанию

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
Pavel Zarubin
01 ноября 2017, 13:39
modx.pro
4 506
Поблагодарить автора Отправить деньги
Реклама

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

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

                        Спасибо за отличный компонент!
                        Пытаюсь настроить, но при запуске скрипта по крону выдаёт следующее:
                        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
                          Pavel Zarubin Эксперт
                          22 сентября 2018, 13:38
                          Добрый день, напишите мне пожалуйста в телеграмм:
                          t.me/slexkap
                            Семён Лобачевский
                            22 сентября 2018, 20:41
                            Спасибо, но всё заработало, оказывается сервис gdeposilka активирует доступ к API при первом запросе и то не сразу)
                          Vlad Brise
                          Vlad Brise Проверенный
                          06 декабря 2018, 22:11
                          Хорошее дополнение
                            Сергей Карпович
                            16 апреля 2021, 17:18
                            Ребята, как скачать компонент? В Менеджере макетов modstore подключен и выбран, а msGdePosilka не находится в каталоге
                              Pavel Zarubin
                              Pavel Zarubin Эксперт
                              16 апреля 2021, 17:20
                              Проверьте сейчас или минут через 15, должно появится, дополнение давно не проверялось, было бы неплохо чтобы вы еще и отписались работает ли оно вообще
                                Сергей Карпович
                                16 апреля 2021, 17:32
                                спасибо, отпишусь как настрою и проверю работу
                                  Сергей Карпович
                                  19 апреля 2021, 10:21
                                  Компонент работает, спасибо.
                                    Сергей Карпович
                                    21 июня 2021, 17:47
                                    Проблему обнаружил: в уведомлении о движении посылки не работает "{$track}", на почту он приходит как есть — {$track}.
                                    Еще вопрос, можно ли как то вывести поле с треком на страницу заказа для клиента?
                                    Я вывожу список заказов с помощью msListOrders и хочу в него встроить вывод трека и отображение пути посылки.
                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                  29