new

ms_CDEK2

Добавляет методы доставки СДЭК, расчет цены и времени доставки по индексу и городу
Автор дополнения
Артур Шевченко
Пакетов
7
Закачек
2 291
Обычно отвечает в течение нескольких дней
Автор дополнения
Пакетов
7
Закачек
2 291
Обычно отвечает в течение нескольких дней
Версия 2.4.6-pl
Дата выпуска 28.05.2025
Загрузки 1 148
Просмотры 16 009
Внимание, этот компонент требует версию PHP 7.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !
ВНИМАНИЕ Не обновляйте компонент, если текущая версия ниже 2.х.х Удалите текущую версию полностью и установите новую.

ВНИМАНИЕ Компонент не работает с PHP 8
Данный компонент не реализует функционал отправки заказов в личный кабинет CDEK — только расчёт стоимости!

Требования:
  • Версия PHP >=7.4
  • Версия modx >=2.6
  • Версия miniShop2 >=3.0.7

Зависимости:
  • miniShop2
  • SendIt
  • pdoTools

ВАЖНО
Если вы обновляете компонент ОБЯЗАТЕЛЬНО укажите коды тарифов для используемых способов доставки в описании способа доставки или на вкладке Параметры.
Если вы устанавливаете компонент впервые убедитесь, что коды способов доставки соответствуют вашему договору со СДЭК.

Быстрый старт

После установки компонента ОБЯЗАТЕЛЬНО выполнить первые 6 пунктов из списка ниже:

1. Перейдите в системные настройки и выберите пространство имён ms_cdek2;
2. Установите свои значения в поля с ключами ms_cdek2_login и ms_cdek2_password;
3. Установите индекс отправителя в поле ms_cdek2_sender_index;
4. Убедитесь, что в поле ms_cdek2_deliveries установлены правильные ID способов доставки (door — доставка до двери, pvz — доставка в ПВЗ);
5. Убедитесь, что в поле ms_cdek2_tariffs установлены правильные ID способов доставки и ID тарифов СДЭК (доставка до двери для ИМ тариф 137, доставка в ПВЗ — 136);
6. Установите номер шаблона с формой оформления заказа в поле ms_cdek2_template (чтобы скрипты фронтэнда подключались только на страницах с этим шаблоном);
7. Если используете доставку до ПВЗ, то в чанке с формой оформления заказа добавьте код
<div data-mscdek-list></div>
Для того, чтобы сработал расчёт стоимости доставки, пользователь должен ввести почтовый индекс.

Вывод карты со списком ПВЗ

К пунктам из быстрого старта выполнить следующие действия:
1. Установить ключ API Яндекс.Карт в системную настройку с ключом ms_cdek2_yandex_api_key;
2. В шаблон с формой оформления заказа вставить код
<div data-mscdek-map></div>
для вставки карты со списком ПВЗ.

Подсказки при вводе адрес

К пунктам из быстрого старта выполнить следующие действия:
1. Получить токен в сервисе DaData и установить его в системную настройку с ключом ms_cdek2_dadata_token;
2. Полю, в которое пользователь будет вводить адрес добавить атрибут data-mscdek-suggest-field;
3. В шаблон с формой оформления заказа вставить код
<ul class="hide" data-mscdek-suggest-list></ul>
для вставки подсказок.

2.4.6-pl

  • Исправил баг с установкой параметров для SendIt.

2.4.5-pl

  • Поменял тип поля системной настройки sender_country.
  • Добавил смену версий скриптов и стилей при обновлении компонента.

2.4.4-pl

  • Добавил запуск расчёта стоимости при изменении страны.

2.4.3-pl

  • Добавил возможность указывать несколько способов доставки требующих получения списка ПВЗ.

2.4.2-pl

  • Добавил учёт количества каждого товара при расчёте веса и габаритов.

2.4.1-pl

  • Bug-fix.

2.4.0-pl

  • Доработал систему JavaScript событий.
  • Связал список и карту.
  • Добавил чанки для элемента списка подсказок и для статуса.
  • Перенёс пресеты в файл.

2.3.1-pl

  • Избавился от зависимости от компонента msDeliveryProps.

2.3.0-pl

  • Добавил js событие mscdek:address:select:suggestion.

2.2.2-pl

  • Добавил явные размеры маркеру ПВЗ на карте.
  • Добавил возможность выводить подсказки по разным странам.

2.2.1-pl

  • Добавил определение страны получателя в сервисе ДаДата.

2.2.0-pl

  • Зачистил компонент от устаревших файлов и настроек
  • Переписал JS и PHP код.
  • Подключил автодополнения от DaData.

2.2.0-beta4

  • Исправил значение системной настройки ms_cdek2_main_css_path.
  • Добавил проверку существования родительского блока в JS.
  • Добавил проверку на наличие поля с именем city для подключения автодополнений.

2.2.0-beta3

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

2.2.0-beta

  • Переписан JS код, jQuery больше не требуется.
  • Автокомплит отключить нельзя, так как требуется обязательное получение кода города от сервиса СДЭК.
  • Для автодополнений используется самописный плагин.
  • Можно указать пути к своим стилям в системных настройках.
  • В JS появились события 'mscdek:init', 'mscdek:status:before', 'mscdek:status:after'.

2.1.2-pl

  • Совместимость с miniShop2-4.x.x

2.1.1-pl

  • Добавлен Content-type к запросу API

2.1.0-pl

  • Реализована совместимость с компонентом cdekIntegrate

2.0.31-pl

  • Задержка отображения стоимости доставки, чтобы индекс успел сохраниться (фикс ПВЗ)

2.0.30-pl

  • Исправлена калькуляция при дробном количестве
  • Выбор кода города по приоритету
  • Исправлена калькуляция при изменении города

2.0.29-pl

  • Добавлен timeout на случай недоступности сервера CDEK
  • Добавлен location по умолчанию, если не удалось определить по индексу

2.0.28-pl

  • Определение точного индекса пункта выдачи

2.0.27-pl

  • Автодополнение от CDEK - выбор самого первого индекса из списка

2.0.26-pl

  • Исправлено отображение лексикона для поля mscdek_size

2.0.25-pl

  • Добавлена системная настройка для указания URL servicepath для виджета

2.0.24-pl

  • Исправлено неверное отображение веса корзины.

2.0.23-pl

  • Исправлено отображение пустой ошибки, если метод CDEK стоит первым.

2.0.22-pl

  • Добавлено заполнение региона и индекса при выборе ПВЗ для корректного рассчёта.

2.0.21-pl

  • Добавлена проверка на пустую корзину.

2.0.20-pl

  • Код города теперь всегда будет запрашиваться через боевой URL API.

2.0.19-pl

  • Исправлен рассчёт веса отправления.

2.0.18-pl

  • Исправлено определение кода города в случае, если в ответе несколько городов.

2.0.17-pl

  • Запрос GET отправляется строкой вместо массива (исправление empty location_to).

2.0.16-pl

  • Добавлен ID пункта выдачи.

2.0.15-pl

  • Вес товаров округляется для соответствия требованиям API (вес должен быть целым числом).

2.0.14-pl

  • Изменён приоритет выбора места назначения. Теперь сначала проверяется индекс.

2.0.13-pl

  • Добавлена обработка ошибок

2.0.12-pl

  • Исправление рассчёта минимальной стоимости тарифа

2.0.11-pl

  • Исправление учёта тарифа для методов с ПВЗ

2.0.10-pl

  • При обновлении с версии 1.х.х правильно копируем индекс отправителя

2.0.9-pl

  • По умолчанию добавлено обязательное поле point при выборе доставки до ПВЗ

2.0.8-pl

  • Выбор конкретного тарифа на вкладке "Параметры" у каждого метода доставки

2.0.7-pl

  • Исправление рассчёта с учётом добавочной стоимости доставки

2.0.6-pl

  • Автоматическое добавление блока [div id="ms_cdek2_map"]

2.0.5-pl

  • Добавлена проверка на существование [div id="ms_cdek2_map"]

2.0.4-pl

  • Возвращена модель для расширения адреса полем с пунктом выдачи

2.0.3-pl

  • Добавлена настройка для окрругления стоимости доставки

2.0.2-pl

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

2.0.1-pl

  • Фикс рассчёта с добавочной стоимостью

2.0.0-pl

  • Компонент переписан с нуля

1.2.4-beta

  • Добавлена возможность учета габаритов корзины [setting_cdek_allow_size]
  • Добавлена возможность учета веса в граммах [setting_cdek_weight]
  • Исправлена ошибка со статусом СДЭК
  • Теперь если индекс не заполнен при выборе города сдэк пытается подставить индекс самостоятельно
  • Повышена стабильность Front-end части
  • Совместимость с msRussianPost3

1.2.3-beta

  • Добавлена настройка которая позволяет отключить учитывание стоимости доставки в конечной цене корзины [php]
  • Статус доставки больше не пишется при цене корзины 0 [php]

1.2.2-beta

  • Добавлена обработка клика по балуну карты [js]
  • Исправлено получение id доставки в хандлере доставки [php]

1.2.1-beta

  • Исправлена ошибка с выбором города возникающая в браузере Safari (PC) [js]
  • Исправлен вывод пунктов самовывоза если выбранном городе только один пункт [php]

1.2.0-beta

  • Добавлен сниппет вывода пунктов доставки
  • Улучшен установщик, если вы еще не настраивали компонент "под себя" рекомендую удалить старую версию и установить новую с нуля (это вовсе не обязательно, но универсальность будет лучше)
  • Улучшен js - код
  • Компонент добавляет новое поле в msOrderAdress
  • Более подробный анонс изменений смотрите на modx.pro

1.1.1-beta

  • Исправлен перерасчет при выборе города мышкой
  • Добавлена настройка которая позволяет отключить спам в лог пользовательских ошибок (cdek_debug)
  • Добавлена поддержка html тегов оформления ошибки

1.1.0-beta

  • Значительно изменен front-end код дополнения
  • Больше не сбрасывает метод доставки при изменении полей
  • Уведомляет пользователя при обновлении цены доставки
  • Производит расчет даже если страница была обновлена
  • Улучшена совместимость с другими методами доставки
  • Компонент теперь даже не инициализируется если метод доставки выбран НЕ сдэк
  • Расчет не запускается если не заполнено ни одно из полей (индекс или город)
  • Подготовка к следующему глобальному обновлению

1.0.3-beta

  • Интегрирована защита от пиратских версий
  • Изменения front-end части кода

1.0.2-beta

  • Исправление расчета дополнительной цены

1.0.1-beta

  • Небольшие исправления

1.0.0-beta

  • Первый релиз

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