[msCdekWidget] Альтернативный калькулятор доставки СДЭК
Приветствую! Представляю вашему вниманию свой вариант интеграции оригинального виджета службы доставки СДЭК на сайты на базе всеми нами любимой CMS Modx Revolution.
Главное отличие от ms_CDEK2 в том, что все расчёты производятся на сайте СДЭК, после чего результат расчёта передаётся через сессию в класс обработчик доставки miniShop'а.
Для корректной работы компонента нужен договор с компанией СДЕК. Без него вы не сможете получить логин и пароль для интеграции. Так же понадобится ключ для API Яндекс.Карт (JavaScript API и HTTP Геокодер). Все эти данные, а так же некоторые другие необходимо указать в системных настройках компонента.
Без нюансов, конечно, не обошлось. На тестовом сайте в какой-то момент карта стала загружаться очень долго. Проанализировав ситуацию, я пришёл к выводу, что у СДЭК'а есть личная неприязнь к моему хостеру (hostland.ru). Впрочем их ТП подтвердила наличие проблемы с картами, но так же сказали, что сроков решения они не знают.
В целом, JS компонента загружается как модуль, сам виджет и карта загружаются отдельно, после загрузки всей страницы, чтобы не блокировать отрисовку контента.
Компонент платный, потому что, несмотря на внешнюю простоту, у виджета напрочь отсутствует API, поэтому для интеграции пришлось проявить немалую изобретательность.
В ближайшем обновлении планирую добавить события для изменения и дополнения логики работы компонента. Так же принимаются ваши пожелания по доработкам и улучшениям.
Ссылка на компонент
Ссылка на тестовый сайт
Спасибо за внимание!
Главное отличие от ms_CDEK2 в том, что все расчёты производятся на сайте СДЭК, после чего результат расчёта передаётся через сессию в класс обработчик доставки miniShop'а.
Для корректной работы компонента нужен договор с компанией СДЕК. Без него вы не сможете получить логин и пароль для интеграции. Так же понадобится ключ для API Яндекс.Карт (JavaScript API и HTTP Геокодер). Все эти данные, а так же некоторые другие необходимо указать в системных настройках компонента.
Без нюансов, конечно, не обошлось. На тестовом сайте в какой-то момент карта стала загружаться очень долго. Проанализировав ситуацию, я пришёл к выводу, что у СДЭК'а есть личная неприязнь к моему хостеру (hostland.ru). Впрочем их ТП подтвердила наличие проблемы с картами, но так же сказали, что сроков решения они не знают.
В целом, JS компонента загружается как модуль, сам виджет и карта загружаются отдельно, после загрузки всей страницы, чтобы не блокировать отрисовку контента.
Компонент платный, потому что, несмотря на внешнюю простоту, у виджета напрочь отсутствует API, поэтому для интеграции пришлось проявить немалую изобретательность.
В ближайшем обновлении планирую добавить события для изменения и дополнения логики работы компонента. Так же принимаются ваши пожелания по доработкам и улучшениям.
Ссылка на компонент
Ссылка на тестовый сайт
Спасибо за внимание!
Комментарии: 22
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
я по приколу подождал около 2х минут, ничего не произошло, тестовый сайт не работает. ни уведомлений, ни предупреждений — тишина…
для платного компонента презентация не очень) я раньше покупал и использовал ms_CDEK2, было интересно сравнить, но не судьба похоже
Плотно приходилось работать с ms_CDEK2 — и не совсем понял про главное отличие.
В ms_CDEK2 точно также необходим логин и пароль для интеграции к их API для рассчетов.
Там идет запрос к api.cdek.ru/v2/ для рассчета стоимости и затем сохраняет в сессию для вывода в корзине результата.
У ms_CDEK2 есть свои нюансы и проблемы, поэтому реально заинтересован в аналогичном, но более стабильном и продуманном решении, но пока по описанию абсолютно не понятно в чем разница.
Со СДЭКом давно борюсь, у них много бывает приколов, например в черную пятницу через раз грузился их виджет с точками ПВЗ, так как их сервера были перегружены и валились с 500 ошибкой. Это сама их поддержка подтвердила потом. Пришлось кэшировать на своей стороне и обновлять раз в несколько часов весь список ПВЗ.
Еще есть проблема с автокомплитом города, ну там комплексная проблема минишопа github.com/modx-pro/miniShop2/issues/879
Пока навскидку это просто виджет widget.cdek.ru с обвязкой. Причём на мой вкус и взгляд, новая версия виджета СДЭК, которая используется у вас более глючная и тормозная, чем предыдущая, но надо признать она активно допиливается сейчас.
Пока болячки все те же:
1) массовая установка полей при выборе ПВЗ, из-за чего происходит перезаписывание и иногда некоторые поля затираются или не ставятся
2) отсутствует адекватный автокомплит у поля город, у ms_CDEK2 он есть — но тоже к нему есть вопросы, т.к. выбор города в поле на карте — долго думает и не совсем логичный способ для посетителей, они путаются и не понимают, где вводить город. Часто несколько доставок в магазине используется и поэтому выбор города должен быть где-то в одном месте, а не так, что для почты РФ в однм месте, для СДЭК на карте.
Не подумайте, что я хейчу как-то — это просто наболевшее для меня) Правда хочется получить адекватное, удобное решение. Надеюсь, вы продолжите дорабатывать и получится хороший конкурентный пакет.
Что касается заполнения адреса, то по-моему всё логично. Если пользователь выбирает объект на карте, то заполняется адрес этого объекта, если пользователь вводит адрес вручную, то в виджете запускается поиск по введённому значению, т.е. адрес необязательно вводить на карте.
Либо все таки придумать как наценку указывать внутри настроек виджета, так как даже на самый дешевый тариф обычно берем страховку + упаковку и расчет для покупателя уже неверный будет показываться.
так не юзерфрендли ни разу