Автор дополнения
Воеводский Михаил
Пакетов
8
Закачек
900
Автор дополнения
Пакетов
8
Закачек
900
Версия 1.5.0-pl
Дата выпуска 09.08.2017
Загрузки 213
Просмотры 847
Внимание, этот компонент требует версию PHP 5.3 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !

В JS компонента версии 1.3.0-beta убрана поддержка minishop2 версии ниже 2.4. Не обновляйте компонент, если используете старую версию minishop2!


msCDEK позволяет рассчитывать стоимость доставки, с учетом веса заказа, для 8 тарифов ТК СДЕК.

На самом деле, поддерживаются все тарифы СДЕК, но для этого необходимо вручную прописывать JSON в свойство properties метода доставки. Подробнее в конце заметки.

Особенности


  1. Учет веса товаров в заказе
  2. Вывод сроков доставки
  3. Сниппет для расчета доставки в карточке товара
  4. Поддержка авторизации
  5. Совместимость с msRussianPost при расчете сроков доставки

Поддерживаемые типы отправлений:


  1. Экспресс-Лайт Склад-Склад
  2. Экспресс-Лайт Склад-Дверь
  3. Экспресс-Лайт Дверь-Склад
  4. Экспресс-Лайт Дверь-Дверь
  5. Посылка Склад-Склад (Требуется авторизация!)
  6. Посылка Склад-Дверь (Требуется авторизация!)
  7. Посылка Дверь-Склад (Требуется авторизация!)
  8. Посылка Дверь-Дверь (Требуется авторизация!)
Помимо стоимости, рассчитывается срок доставки.

Данный компонент возможно использовать вместе с компонентом msRussianPost – они унифицированы.


Установка


Шаг 1: только стоимость доставки


После установки создается 8 новых способов доставки, по умолчанию они все выключены. Включите требуемые, не забыв отметить доступные способы оплаты.


В чанке tpl.msOrder.outer замените поле ввода города на вызов чанка [[!$tpl.msCDEK.area? &type=`city`]] или [[!$tpl.msCDEK.autocomplete? &type=`city`]]. В данном чанке находится вызов сниппета для вывода списка городов и скрипт для динамического пересчета стоимости после выбора другого города. Если требуется вывести список стран, действие аналогичное: [[!$tpl.msCDEK.area? &type=`country`]]


Шаг 2: срок доставки


В чанке tpl.msOrder.outer добавьте в удобное место вызов чанка [[$tpl.msCDEK.time]], в нем находится контейнер для вывода срока доставки.



Расчет в карточке товара


Для расчета в карточке товара используется сниппет msCDEK. Его параметры:


&tpl — Чанк оформления. По умолчанию: 'tpl.msCDEK.delivery'


&tariffId — ID тарифа. По умолчанию: '1' (Экспресс-Лайт Дверь-Дверь)


&weight — Вес отправления. По умолчанию: '1'


&to — ID пункта назначения. По умолчанию:'44' (Москва)


&toPlaceholder — Если указано, все результаты сохраняются в плейсхолдер с указанным именем. По умолчанию: 'false'



Системные настройки


mscdek_from_cityid — ID места отправления. По умолчанию: '137' (г. Санкт-Петербург)


ms2_delivery_weight_in_kg — Если включено, то вес отправления считается в килограммах. В противном случае – в граммах. По умолчанию: Включено


mscdek_cities_list — [Устарела] Путь к файлу с массивом городов и ID в сериализованном виде. По умолчанию:'libs/city_c_rus.ser'


mscdek_default_size — Размер одной стороны отправления, указывается в см. Используется «для галочки», менять не нужно. По умолчанию: 1


mscdek_login — Имя пользователя для интеграции. По умолчанию: ''


mscdek_password — Пароль для интеграции. По умолчанию: ''



О логине и пароле:


Логин (Account), выдается компанией СДЭК по вашему запросу. Обязательны для учета индивидуальных тарифов и учета условий доставок по тарифам «посылка». Запрос необходимо отправить на адрес integrator@cdek.ru с указанием номера договора со СДЭК. ВАЖНО: Учетная запись для интеграции не совпадает с учетной записью доступа в Личный Кабинет СДЭК.



Совместимость с msRussianPost


Для вывода срока доставки используется отправка и обработка запроса происходит одинаково в обоих компонентах, используются переменные с одинаковыми названиями.


Это позволяет, например, корректно выводить результаты расчета для доставок через Почту России, используя чанки от msCDEK.


Нюанс: сниппет пунктов назначения для Почты России возвращает города и области, однако СДЕК не принимает названия областей для расчета. По этой причине при совместном использовании компонентов рекомендуется использовать чанк выбора города от компонента msCDEK.



Тарифы и города


В комплекте с компонентом есть файлы с соответствиями названий и ID для городов и тарифов.


Список городов и их ID находится в файле /core/components/mscdek/docs/cities_rus.txt


Список тарифов и их ID находится в файле /core/components/mscdek/docs/tariffs_ids.txt



Добавление других типов доставки


Поддерживается работа со всеми тарифами СДЕК. Для этого необходимо создать новый метод доставки, указать в нем класс-обработчик msCDEKHandler, после чего через базу или иным способом занести в поле properties данного метода JSON массив:



{"tariffId":139,"name":"Посылка дверь-дверь"}
tariffId — ID нужного тарифа

name — название. Не обязательно


Обсуждение компонента в сообществе MODX.PRO



1.5.0-pl

  • Добавлен вывод совпадающего с запросом города на первом месте

1.5.0-beta

  • Добавлена поддержка габаритов отправлений
  • Оптимизация JS
  • Добавление поддержки ID города в сниппете msCDEK

1.4.0-beta

  • Отключение AJAX запросов для доставки не СДЕК
  • Отключение AJAX запросов пунктов выдачи для доставки "До двери"
  • Корректировки автодополнения населенных пунктов

1.4.0-alpha2

  • Оптимизирована работа автодополнения и списка пунктов выдачи

1.4.0-alpha

  • Добавление автоподсказок для ручного ввода городов
  • Корректировка вывода сообщения о невозможности доставки
  • Корректировка вывода пунктов выдачи
  • Добавление полного перечня городов и стран
  • Добавление опционального обновления стран и городов при переустановке
  • Динамическая подгрузка пунктов выдачи с сайта СДЕК, удаление статического перечня из компонента

1.3.2-pl3

  • Корректировка сообщений об ошибках

1.3.2-pl2

  • Исключение сообщения о коде ошибки
  • Незначительная оптимизация JS

1.3.2-pl

  • Изменена выборка списка городов для поддержки большого количества
  • Добавлена поддержка стандартной добавленной стоимости доставки

1.3.1-pl

  • Отключен запрос списка пунктов доставки при отсутствии контрола для них
  • Исправлена ошибка итогового расчета стоимости

1.3.0-pl

  • Добавлена системная настройка "Вес по умолчанию"

1.3.0-beta

  • Добавление возможности выбора пунктов выдачи
  • Исправлена подстановка выбранных ранее страны и города
  • Обновлен JS для поддержки MS2.4 без обратной совместимости
  • Добавлено сохранение пункта выдачи в комментарии к адресу заказа

1.2.0-pl

  • Исправление ошибки при установке

1.2.0-beta

  • Страны и города теперь перенесены на хранение в БД
  • Исправлена логика на фронте в случаях, когда доставка невозможна

1.1.0-pl2

  • Исправление ошибки на PHP7

1.1.0-pl1

  • Исправлен путь до файла с городами в системной настройке
  • Внедрен аналогичный msRussianPost механизм вывода срока доставки
  • Внедрен аналогичный msRussianPost JS
  • Исправлены лексиконы

1.1.0-beta2

  • Исправление подстановки страны "По умолчанию", если в адресе поле не заполнено

1.1.0-beta1

  • Добавлена поддержка расчетов международных отправлений
  • Обновлен список городов
  • При передаче нулевого веса выставляется зашитое значение 10 г
  • JS-код вынесен в отдельный файл
  • Исправление инициализации minishop2
  • Удален ошибочно созданный пункт меню

1.0.0-pl

  • Первая публичная версия
  • Для параметра сниппета &to выставлено значение по умолчанию "44" (Москва)
  • Добавлен файл со списком тарифов и их ID /core/components/mscdek/docs/tariffs_ids.txt
  • Закомментированы неиспользуемые параметры для сниппета msCDEK

1.0.0-rc3

  • Добавлена обработка некорректных полей перед запросом

1.0.0-rc2

  • Исправлена ошибка при удалении пакета
  • Исправлена ошибка создания новых способов доставки

1.0.0-rc

  • Первая работоспособная версия

Последние обсуждения в сообществе MODX.pro