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
1
950
+7

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

Михаил
01 ноября 2017, 17:26
+2
ХОЧУ КОМПОНЕНТ!!!
Антон
01 ноября 2017, 17:44
0
Хочу компонент
Алексей Бгатов
01 ноября 2017, 17:45
0
Хочу компонент! :)
Андрей
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 при первом запросе и то не сразу)