[msCdekWidget] Альтернативный калькулятор доставки СДЭК

Приветствую! Представляю вашему вниманию свой вариант интеграции оригинального виджета службы доставки СДЭК на сайты на базе всеми нами любимой CMS Modx Revolution.

Главное отличие от ms_CDEK2 в том, что все расчёты производятся на сайте СДЭК, после чего результат расчёта передаётся через сессию в класс обработчик доставки miniShop'а.

Для корректной работы компонента нужен договор с компанией СДЕК. Без него вы не сможете получить логин и пароль для интеграции. Так же понадобится ключ для API Яндекс.Карт (JavaScript API и HTTP Геокодер). Все эти данные, а так же некоторые другие необходимо указать в системных настройках компонента.

Без нюансов, конечно, не обошлось. На тестовом сайте в какой-то момент карта стала загружаться очень долго. Проанализировав ситуацию, я пришёл к выводу, что у СДЭК'а есть личная неприязнь к моему хостеру (hostland.ru). Впрочем их ТП подтвердила наличие проблемы с картами, но так же сказали, что сроков решения они не знают.
В целом, JS компонента загружается как модуль, сам виджет и карта загружаются отдельно, после загрузки всей страницы, чтобы не блокировать отрисовку контента.

Компонент платный, потому что, несмотря на внешнюю простоту, у виджета напрочь отсутствует API, поэтому для интеграции пришлось проявить немалую изобретательность.

В ближайшем обновлении планирую добавить события для изменения и дополнения логики работы компонента. Так же принимаются ваши пожелания по доработкам и улучшениям.

Ссылка на компонент
Ссылка на тестовый сайт

Спасибо за внимание!
Артур Шевченко
07 декабря 2023, 20:58
modx.pro
1 624
+5
Поблагодарить автора Отправить деньги

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

Наумов Алексей
08 декабря 2023, 11:41
+1
тестовый сайт что-то не аллё, не могу выбрать никакой способ доставки, radio заблокированы
    Артур Шевченко
    08 декабря 2023, 11:56
    0
    На тестовом сайте в какой-то момент карта стала загружаться очень долго. Проанализировав ситуацию, я пришёл к выводу, что у СДЭК'а есть личная неприязнь к моему хостеру (hostland.ru).
      Наумов Алексей
      08 декабря 2023, 14:23
      0
      очень долго — это ну не знаю, 5 или 15 секунд
      я по приколу подождал около 2х минут, ничего не произошло, тестовый сайт не работает. ни уведомлений, ни предупреждений — тишина…

      для платного компонента презентация не очень) я раньше покупал и использовал ms_CDEK2, было интересно сравнить, но не судьба похоже
    Алексей Суслов
    08 декабря 2023, 14:26
    +1
    Да, хотелось бы пощупать. На демо сайте не работает.
    Плотно приходилось работать с ms_CDEK2 — и не совсем понял про главное отличие.
    В ms_CDEK2 точно также необходим логин и пароль для интеграции к их API для рассчетов.
    Там идет запрос к api.cdek.ru/v2/ для рассчета стоимости и затем сохраняет в сессию для вывода в корзине результата.

    У ms_CDEK2 есть свои нюансы и проблемы, поэтому реально заинтересован в аналогичном, но более стабильном и продуманном решении, но пока по описанию абсолютно не понятно в чем разница.

    На тестовом сайте в какой-то момент карта стала загружаться очень долго. Проанализировав ситуацию, я пришёл к выводу, что у СДЭК'а есть личная неприязнь к моему хостеру (hostland.ru).
    Со СДЭКом давно борюсь, у них много бывает приколов, например в черную пятницу через раз грузился их виджет с точками ПВЗ, так как их сервера были перегружены и валились с 500 ошибкой. Это сама их поддержка подтвердила потом. Пришлось кэшировать на своей стороне и обновлять раз в несколько часов весь список ПВЗ.

    Еще есть проблема с автокомплитом города, ну там комплексная проблема минишопа github.com/modx-pro/miniShop2/issues/879
      Артур Шевченко
      08 декабря 2023, 17:44
      +2
      Развернул демо на другом хостинге
        Алексей Суслов
        08 декабря 2023, 18:33
        0
        Спасибо, посмотрел. Расскажите, пожалуйста, как разработчик, чем же все же принципиально отличается ваше решение?
        Пока навскидку это просто виджет widget.cdek.ru с обвязкой. Причём на мой вкус и взгляд, новая версия виджета СДЭК, которая используется у вас более глючная и тормозная, чем предыдущая, но надо признать она активно допиливается сейчас.
        Пока болячки все те же:
        1) массовая установка полей при выборе ПВЗ, из-за чего происходит перезаписывание и иногда некоторые поля затираются или не ставятся
        2) отсутствует адекватный автокомплит у поля город, у ms_CDEK2 он есть — но тоже к нему есть вопросы, т.к. выбор города в поле на карте — долго думает и не совсем логичный способ для посетителей, они путаются и не понимают, где вводить город. Часто несколько доставок в магазине используется и поэтому выбор города должен быть где-то в одном месте, а не так, что для почты РФ в однм месте, для СДЭК на карте.

        Не подумайте, что я хейчу как-то — это просто наболевшее для меня) Правда хочется получить адекватное, удобное решение. Надеюсь, вы продолжите дорабатывать и получится хороший конкурентный пакет.
          Артур Шевченко
          08 декабря 2023, 19:35
          0
          Принципиальная разница в том, что компонент работает на том коде, который предоставляет сам СДЭК — да это их виджет с обвязкой.
          Что касается заполнения адреса, то по-моему всё логично. Если пользователь выбирает объект на карте, то заполняется адрес этого объекта, если пользователь вводит адрес вручную, то в виджете запускается поиск по введённому значению, т.е. адрес необязательно вводить на карте.
            Pandemic
            09 декабря 2023, 21:04
            0
            Получил баг на тестовом хостине, когда захожу карта постоянно обновляется, на ваш сервер отправляется кучу запросов каждую секунду
              Артур Шевченко
              09 декабря 2023, 22:41
              0
              Возможно просто не повезло))) Я сейчас на трёх тестовых сайтах посмотрел, которые на разных хостингах, всё работает нормально. Похоже СДЭК карту починил.
                Максим
                18 декабря 2023, 07:29
                0
                Я сейчас тоже посмотрел и глюк на глюке)) Тормозит ужасно всё)) Но, думаю, тут не к вам претензия, а к разработчикам виджета))
                  Артур Шевченко
                  18 декабря 2023, 11:13
                  0
                  Я после вашего комментария тоже посмотрел, они виджет обновили. Так что надо обновление компонента выпускать, что-то работать перестал.
                    Максим
                    19 декабря 2023, 07:28
                    0
                    Потому и говорю, что на их стороне полюбому проблема. Сталкивался с прошлой версией, тоже голову сломал себе, в итоге заказчика просто отказался от него))
      Сергей
      15 декабря 2023, 11:02
      0
      Артур, добрый день! На счет актуальности CDEK не совсем в курсе, но вот очень не хватает модуля для Яндекс доставки, доставки до ПВЗ, что бы клиент мог выбирать удобный для него пункт самовывоза. Если будет время и желание заняться разработкой данного модуля, то с удовольствием бы купил его.
        Артур Шевченко
        15 декабря 2023, 11:18
        0
        Думал вы напишите: я бы с удовольствием оплатил разработку))) А так, спасибо за идею.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        14