msCDEK 1.0.0: расчет доставки ТК СДЕК
Описание
msCDEK позволяет рассчитывать стоимость доставки, с учетом веса заказа, для 8 тарифов ТК СДЕК.
Особенности
Поддерживаемые типы отправлений:
Данный компонент возможно использовать вместе с компонентом msRussianPost – они унифицированы.
Установка
Шаг 1: только стоимость доставки
После установки создается 8 новых способов доставки, по умолчанию они все выключены. Включите требуемые, не забыв отметить доступные способы оплаты.
В чанке tpl.msOrder.outer замените поле ввода города на вызов чанка [[$tpl.msCDEK.city]]. В данном чанке находится вызов сниппета для вывода списка городов и скрипт для динамического пересчета стоимости после выбора другого города
Шаг 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 массив:
name — название. Не обязательно
______
Компонент можно будет приобрести в скором времени в магазине MODSTORE.PRO.Описание
msRussianPost позволяет рассчитывать стоимость доставки, с учетом веса заказа и стоимости всех товаров, для всех основных типов перевозок Почтой России.
Особенности
Поддерживаемые типы отправлений:
Данный компонент возможно использовать вместе с компонентом msCDEK – они унифицированы.
Установка
Шаг 1: только стоимость доставки
После установки создается 9 новых способов доставки, по умолчанию они все выключены. Включите требуемые, не забыв отметить доступные способы оплаты.
В чанке tpl.msOrder.outer замените поле ввода города на вызов чанка [[$tpl.msRussianPost.city]]. В данном чанке находится вызов сниппета для вывода списка городов и скрипт для динамического пересчета стоимости после выбора другого города
Шаг 2: срок доставки
В чанке tpl.msOrder.outer добавьте в удобное место вызов чанка [[$tpl.msRussianPost.time]], в нем находится контейнер для вывода срока доставки.
Расчет в карточке товара
Для расчета в карточке товара используется сниппет msRussianPost. Его параметры:
&tpl — Чанк оформления. По умолчанию: 'tpl.msRussianPost.delivery'
&sending — Тип отправления, указывается название. По умолчанию: 'Ценная посылка'
&weight — Вес отправления. По умолчанию: '1'
&cost — Стоимость отправления в рублях. По умолчанию: '0'
&to — Пункт назначения. По умолчанию:'Москва'
&toPlaceholder — Если указано, все результаты сохраняются в плейсхолдер с указанным именем. По умолчанию: 'false'
Системные настройки
msrussianpost_from_index — Индекс места отправления. По умолчанию: '190000' (Главпочтамт г. Санкт-Петербург)
ms2_delivery_weight_in_kg — Если включено, то вес отправления считается в килограммах. В противном случае – в граммах. По умолчанию: Включено
msrussianpost_cache_ttl — Время жизни результатов расчета в кэше, в секундах. По умолчанию:'604800'
msrussianpost_response_to_modx_log — Возможность отправить ответ сервиса расчетов в лог ошибок MODX на уровне ERROR. Может быть полезно при разработке, но на реальных проектах настоятельно рекомендуется отключать. По умолчанию: Отключено
Совместимость с msCDEK
Для вывода срока доставки используется отправка и обработка запроса происходит одинаково в обоих компонентах, используются переменные с одинаковыми названиями.
Это позволяет, например, корректно выводить результаты расчета для доставок через Почту России, используя чанки от msCDEK.
Нюанс: сниппет пунктов назначения для Почты России возвращает города и области, однако СДЕК не принимает названия областей для расчета. По этой причине при совместном использовании компонентов рекомендуется использовать чанк выбора города от компонента msCDEK.
Компонент можно будет приобрести в скором времени в магазине MODSTORE.PRO.
Спасибо сервису postcalc.ru за возможность создания данного компонента.
С текущего момента поддержкой компонента занимается Павел Карелин.
msCDEK позволяет рассчитывать стоимость доставки, с учетом веса заказа, для 8 тарифов ТК СДЕК.
На самом деле, поддерживаются все тарифы СДЕК, но для этого необходимо вручную прописывать JSON в свойство properties метода доставки. Подробнее в конце заметки.
Особенности
- Учет веса товаров в заказе
- Вывод сроков доставки
- Сниппет для расчета доставки в карточке товара
- Поддержка авторизации
- Совместимость с msRussianPost при расчете сроков доставки
Поддерживаемые типы отправлений:
- Экспресс-Лайт Склад-Склад
- Экспресс-Лайт Склад-Дверь
- Экспресс-Лайт Дверь-Склад
- Экспресс-Лайт Дверь-Дверь
- Посылка Склад-Склад (Требуется авторизация!)
- Посылка Склад-Дверь (Требуется авторизация!)
- Посылка Дверь-Склад (Требуется авторизация!)
- Посылка Дверь-Дверь (Требуется авторизация!)
Данный компонент возможно использовать вместе с компонентом msRussianPost – они унифицированы.
Установка
Шаг 1: только стоимость доставки
После установки создается 8 новых способов доставки, по умолчанию они все выключены. Включите требуемые, не забыв отметить доступные способы оплаты.
В чанке tpl.msOrder.outer замените поле ввода города на вызов чанка [[$tpl.msCDEK.city]]. В данном чанке находится вызов сниппета для вывода списка городов и скрипт для динамического пересчета стоимости после выбора другого города
Шаг 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":"\u041f\u043e\u0441\u044b\u043b\u043a\u0430 \u0434\u0432\u0435\u0440\u044c-\u0434\u0432\u0435\u0440\u044c"}
tariffId — ID нужного тарифаname — название. Не обязательно
______
Компонент можно будет приобрести в скором времени в магазине MODSTORE.PRO.Описание
msRussianPost позволяет рассчитывать стоимость доставки, с учетом веса заказа и стоимости всех товаров, для всех основных типов перевозок Почтой России.
В тексте упоминается компонент msCDEK — его описание появится в скором времени.
Особенности
- Учет стоимости и веса товаров в заказе
- Вывод стоимости доставки с учетом страхования
- Вывод сроков доставки
- Сниппет для расчета доставки в карточке товара
- Кэширование результатов расчета
- Совместимость с msCDEK при расчете сроков доставки
Поддерживаемые типы отправлений:
- Простая бандероль
- Заказная бандероль
- Заказная бандероль 1 класс
- Ценная бандероль
- Ценная посылка
- Ценная авиабандероль
- Ценная авиапосылка
- Ценная бандероль 1 класс
- Курьерская доставка EMS
Данный компонент возможно использовать вместе с компонентом msCDEK – они унифицированы.
Установка
Шаг 1: только стоимость доставки
После установки создается 9 новых способов доставки, по умолчанию они все выключены. Включите требуемые, не забыв отметить доступные способы оплаты.
В чанке tpl.msOrder.outer замените поле ввода города на вызов чанка [[$tpl.msRussianPost.city]]. В данном чанке находится вызов сниппета для вывода списка городов и скрипт для динамического пересчета стоимости после выбора другого города
Шаг 2: срок доставки
В чанке tpl.msOrder.outer добавьте в удобное место вызов чанка [[$tpl.msRussianPost.time]], в нем находится контейнер для вывода срока доставки.
Расчет в карточке товара
Для расчета в карточке товара используется сниппет msRussianPost. Его параметры:
&tpl — Чанк оформления. По умолчанию: 'tpl.msRussianPost.delivery'
&sending — Тип отправления, указывается название. По умолчанию: 'Ценная посылка'
&weight — Вес отправления. По умолчанию: '1'
&cost — Стоимость отправления в рублях. По умолчанию: '0'
&to — Пункт назначения. По умолчанию:'Москва'
&toPlaceholder — Если указано, все результаты сохраняются в плейсхолдер с указанным именем. По умолчанию: 'false'
Системные настройки
msrussianpost_from_index — Индекс места отправления. По умолчанию: '190000' (Главпочтамт г. Санкт-Петербург)
ms2_delivery_weight_in_kg — Если включено, то вес отправления считается в килограммах. В противном случае – в граммах. По умолчанию: Включено
msrussianpost_cache_ttl — Время жизни результатов расчета в кэше, в секундах. По умолчанию:'604800'
msrussianpost_response_to_modx_log — Возможность отправить ответ сервиса расчетов в лог ошибок MODX на уровне ERROR. Может быть полезно при разработке, но на реальных проектах настоятельно рекомендуется отключать. По умолчанию: Отключено
Совместимость с msCDEK
Для вывода срока доставки используется отправка и обработка запроса происходит одинаково в обоих компонентах, используются переменные с одинаковыми названиями.
Это позволяет, например, корректно выводить результаты расчета для доставок через Почту России, используя чанки от msCDEK.
Нюанс: сниппет пунктов назначения для Почты России возвращает города и области, однако СДЕК не принимает названия областей для расчета. По этой причине при совместном использовании компонентов рекомендуется использовать чанк выбора города от компонента msCDEK.
Компонент можно будет приобрести в скором времени в магазине MODSTORE.PRO.
Спасибо сервису postcalc.ru за возможность создания данного компонента.
Обновлено 26.09.2017
С текущего момента поддержкой компонента занимается Павел Карелин.
Комментарии: 59
Компонент доступен в магазине.
Не рассчитывает срок доставки при входе user'а в личный кабинет (manager тоже самое).
Если не логиниться то все работает ок.
В логах ошибка
[2015-12-22 11:34:39] (ERROR @ /var/www/~/core/components/mscdek/model/mscdek/mscdek.class.php: 89) PHP warning: in_array() expects parameter 2 to be array, null given
[2015-12-22 11:34:39] (ERROR @ /var/www/~/core/components/mscdek/model/mscdek/mscdek.class.php: 245) PHP warning: array_search() expects parameter 2 to be array, null given
подскажите как настроить
Если не логиниться то все работает ок.
В логах ошибка
[2015-12-22 11:34:39] (ERROR @ /var/www/~/core/components/mscdek/model/mscdek/mscdek.class.php: 89) PHP warning: in_array() expects parameter 2 to be array, null given
[2015-12-22 11:34:39] (ERROR @ /var/www/~/core/components/mscdek/model/mscdek/mscdek.class.php: 245) PHP warning: array_search() expects parameter 2 to be array, null given
подскажите как настроить
Ответил в поддержке.
Михаил, возможно ли совместное использование с дополнением: GeoLocation, для автоматического определения местоположения посетителя. И соответственно, с дальнейшей подстановкой в вызов. (Например, в карточке товара, для примерного расчета стоимости и времени доставки)
Совместимость с GeoLocation не реализовывалась. Напишите в поддержке, укажите данные для доступа в админку — посмотрю.
Пока не приобрёл, просто раз есть возможность вывода срока доставки и стоимости в карточке товара, думал как-то определяется город посетителя сайта.
Вывод стоимости на странице товара возможен при указании сниппету города для расчета. Если у Вас будут оба компонента — посмотрю, возможно ли их совместить.
тогда можно указать выбранный город при вызове сниппета
[[!+gl.selected.city.name_ru]]
Михаил, подскажите пожалуйста, как можно добавить все возможные города доставки CDEK в бд? Например, Сургута нет в списке. Можно, конечно, вручную его добавить, но как быть со всеми остальными?
Другого способа, кроме как вручную, нет. Поскольку города хранятся в БД, после обновления компонента список не будет обновлен/затерт, потому можно смело добавлять все необходимые города. Полный список городов на сайте СДЕК.
del
Как вывести при оформлении заказа отдельно стоимость доставки?
По умолчанию такой возможности нет.
ок. решил эту проблему как тут:
Предусмотрены ли какие либо проверки и, соответственно, возвращаемые ошибки при работе модуля?
ситуация такая: пользователь набрал товаров с общим весом большим чем максимально возможное по тарифу сдека, и возвращается нулевая цена доставки.
в итоге заказ был оформлен и оплачен с нулевой стоимостью доставки.
ситуация такая: пользователь набрал товаров с общим весом большим чем максимально возможное по тарифу сдека, и возвращается нулевая цена доставки.
в итоге заказ был оформлен и оплачен с нулевой стоимостью доставки.
Если Вы вызвали чанк для отображения срока доставки, то в нем отобразится сообщение «Извините, доставка не может быть рассчитана», это стандартный ответ самого сервиса СДЕК. Дополнительно к этому, будет заблокирована кнопка отправки заказа.
после решения предыдущего вопроса об отдельной стоимости доставки, чанк с временем доставки перестает отображаться.
дилемма однако…
дилемма однако…
Почему то не хочет считать доп. стоимость ни в процентах ни как. С чем может быть связано?
Не предусмотрено.
В файле components/minishop2/custom/delivery/mscdekhandler.class.php замените тело метода getCost() на следующее:
В файле components/minishop2/custom/delivery/mscdekhandler.class.php замените тело метода getCost() на следующее:
$addCost = parent::getCost($order, $delivery, $cost);
if ($this->getLocalService()) {
return $this->localService->getCost($order, $delivery, $cost) + ($addCost - $cost);
} else {
return $addCost;
}
Данное изменение войдет в грядущее обновление компонента, однако, оно отложено на неопределенный срок.
Собираюсь реализовать расчет срока доставки в карточке товара. Название населённого пункта я получаю по geoAPI. Судя по документации, получается, что мне нужно самостоятельно хранить в БД соответствие названий населённых пунктов и их id. Правильно я понимаю?
Эти соответствия уже хранятся в БД, судя по комментам выше. Могу ли я получить срок доставки не по id, а по названию города?
В сниппет, как раз, необходимо передавать названия городов.
Здравствуйте. В обновлении указано что добавили пункты доставок, скажите пожалуйста как их получить?
Как еще получить выбранный город после Ajax запроса? Просто написал свой сниппет, который получает город, но только он работает после перезагрузки.
Спасибо!
Как еще получить выбранный город после Ajax запроса? Просто написал свой сниппет, который получает город, но только он работает после перезагрузки.
Спасибо!
Мне для рассчета доставки надо все города чтоб были, а не только областные центры!
Как это сделать и как сделать умную строку вводу города, чтоб было как у СДЭКА — payanyday.com/
вводишь пару букв он тебе варианты накидывает. Это важно, так как люди не только в Москве/ ЕКБ / Питере и тд живут, а еще и в поселках и деревнях Маленького Яичного))))
Как это сделать и как сделать умную строку вводу города, чтоб было как у СДЭКА — payanyday.com/
вводишь пару букв он тебе варианты накидывает. Это важно, так как люди не только в Москве/ ЕКБ / Питере и тд живут, а еще и в поселках и деревнях Маленького Яичного))))
Это не решение. Это в принципе по умолчанию в модуле должно быть, ибо иначе он полумертвый
а вы это реализовывали? если совет дали) сколько возьмете?
Именно такое не делал, но делал подобное. Могу сделать, напишите на почту, обсудим.
Подобное в планах, но срок реализации не назову. В качестве временного решения возможно добавить все города в базу, а к выпадающему списку с названиями городов добавить простой в использовании selectpicker.
Когда выбираешь — АНАДЫРЬ!
Извините, доставка не может быть рассчитана. Код ошибки: 3
Что значит?
Извините, доставка не может быть рассчитана. Код ошибки: 3
Что значит?
Это стандартный ответ от СДЕК без пояснений. Мб, превышен вес либо выбран вариант доставки до склада, но в Анадыре нет пунктов выдачи.
Михаил, мне сделали города умным поиском, но у вас в модуле косяк! Больше 5000 городов как вводишь модуль дохнет! А у нас в РФ пунктов выдачи почти 7000!!! Решите вопрос!
Денис, достаточно написать только в поддержку, дублировать сразу везде не требуется. В течение 1-2 дней обновлю компонент в магазине.
Михаил, возможно ли через ваш компонент для определенного списка городов, получать адреса офисов? Желательно с координатами google.maps
Сниппет msCDEKPoints по переданному названию города получает список адресов пунктов выдачи в этом городе. Важно: название города должно точно совпадать с записью в БД. Самый простой способ проверить — использовать ввод названия города с автодополнением.
Михаил, спасибо за быстрый ответ. Сниппет получает только адреса? Какие-нибудь координаты выдаются (google, ya)?
Автодополнение — это от кого использовать?
Автодополнение — это от кого использовать?
В текущей версии — только адреса. Можно получать любую информацию о пунктах, добавлю задачу в очередь.
Михаил, еще два вопроса:
1. Любую — это какую? Режим работы возможно получить (дни недели, время)?
2. Сайт на поддоменах, т.е. каждый город — поддомен — будет на них работать?
1. Любую — это какую? Режим работы возможно получить (дни недели, время)?
2. Сайт на поддоменах, т.е. каждый город — поддомен — будет на них работать?
1) СДЕК предоставляет очень подробную информацию о пунктах. Пример для Санкт-Петербурга: integration.cdek.ru/pvzlist.php?type=PVZ&cityid=137
2) Сниппету абсолютно все равно, где он работает. Главное — в параметре &city передать правильное название города
2) Сниппету абсолютно все равно, где он работает. Главное — в параметре &city передать правильное название города
я что-то недоразобрался… у меня в селекто вообще нет городов, а в автокомплите всякая шушера — вводишь «Москва», получаешь всё что угодно кроме москвы — все пригороды и т д. Даже если прям написать «Москва», выбирается пригород. в том числе куча мест, при выборе которых не меняется сумма заказа. То есть, туда видимо не доставляют этим способом. Как бы это пофиксить? где я неправ?
а с geolocation это всё не поженить?
В теории можно, на практике полноценно не проверялось.
В селекте будут все города — больше 16 000. Он оставлен только в целях совместимости для тех, кто не обновит список стран и городов при обновлении компонента.
В автодополнении по алфавиту выводятся все населенные пункты, в полное наименование которых входит введенное значение. В частности, Москва. В следующем обновлении добавлю вывод совпадающего значения на первое место.
В автодополнении по алфавиту выводятся все населенные пункты, в полное наименование которых входит введенное значение. В частности, Москва. В следующем обновлении добавлю вывод совпадающего значения на первое место.
как бы исключать из списка города, в которые доставка не работает? или сообщение выводить — что сюда нельзя?
спасибо, про селект понял.
и еще, было бы здорово добавить функционал выгрузки заказов в сдэк — либо через интеграцию, либо хотя бы в виде экспорта таблицы в нужном формате
спасибо, про селект понял.
и еще, было бы здорово добавить функционал выгрузки заказов в сдэк — либо через интеграцию, либо хотя бы в виде экспорта таблицы в нужном формате
1) Если выводить время доставки, то при невозможности в этом блоке отображается сообщение
2) Можно подробнее о формате? Возможно, получится добавить.
2) Можно подробнее о формате? Возможно, получится добавить.
Добавил задачи в очередь.
так, то что селект для выбора пунктов надо добавить самому это понятно. А куда пишется выбранное значение? какой должен быть name у селекта?
и где в админке инфа по выбранным способам?
и где в админке инфа по выбранным способам?
<div><select id="deliveryPoints" class="form-control" name="deliveryPoint"></select></div>
Информация о выбранном пункте выдачи записывается в комментарий к заказу.
Камрады, подскажите, кто как выводит сниппет на странице товара? У меня просто белый экран
В компоненте присутствовали пара ошибок. Скоро будет обновление. Если кому то не терпится.
/assets/components/mscdek/js/web/default.js
/assets/components/mscdek/js/web/default.js
$(function () {
if (APPConfig.$city_select["0"].nodeName == "SELECT") {
APPConfig.$city_select.on('change', function () {
console.log('change');
miniShop2.Order.add('city', $(this).val());
delivery_reset();
// delivery_getPoints();
});
$.post('/assets/components/mscdek/action.php', {mscdek_action: "delivery/getcities"}, function (success) {
miniShop2.Order.add('city', '');
APPConfig.$city_select.html('<option value=""> Выберите </option>' + success);
});
} else if (APPConfig.$city_select["0"].nodeName == "INPUT") {
APPConfig.$city_select.on('keyup', citySelectFunc);
selectID = document.getElementById("city_select");
selectID.addEventListener('cut', citySelectFunc);
selectID.addEventListener('paste', citySelectFunc);
}
}());
на$(function () {
if (typeof APPConfig.$city_select["0"] !== "undefined") {
if (APPConfig.$city_select["0"].nodeName == "SELECT") {
APPConfig.$city_select.on('change', function () {
console.log('change');
miniShop2.Order.add('city', $(this).val());
delivery_reset();
// delivery_getPoints();
});
$.post('/assets/components/mscdek/action.php', {mscdek_action: "delivery/getcities"}, function (success) {
miniShop2.Order.add('city', '');
APPConfig.$city_select.html('<option value=""> Выберите </option>' + success);
});
} else if (APPConfig.$city_select["0"].nodeName == "INPUT") {
APPConfig.$city_select.on('keyup', citySelectFunc);
selectID = document.getElementById("city_select");
selectID.addEventListener('cut', citySelectFunc);
selectID.addEventListener('paste', citySelectFunc);
}
}
}());
Содержимое чанка chunk.delivery.tpl на<p>Стоимость доставки: [[+priceByCurrency]] [[+currency]] </p>
<p>Время доставки: [[+time]] дней</p>
msCDEK/core/components/mscdek/model/mscdek/mscdek.class.php$goodsDimensions = array(array('weight' => $weightOrGoodsDimensions));
на$goodsDimensions = array('weight' => $weightOrGoodsDimensions);
Билд соберу думаю в конце этой недели.
С сегодняшнего дня поддержкой компонента занимается Павел Карелин.
Подскажите, если выводится сообщение «неопределенное количество» — это что имеется ввиду с точки зрения СДЭК?
Адлер почему не определяется? Ладно там какие-то Овинки, но Адлер-то?? На оригинальном сайте все находит, через плагин почему-то нет.
Подскажите, как заменить выбор города более удобным инструментом, например, если нужен список из всего 10 городов, как отправлять выбранный город в Ваш сниппет?
<select name="city">
<option disabled>Выберите город</option>
<option value="Чебурашка">Чебурашка</option>
<option selected value="Крокодил Гена">Крокодил Гена</option>
<option value="Шапокляк">Шапокляк</option>
<option value="Крыса Лариса">Крыса Лариса</option>
</select>
Интересно, когда обновится документация?
Ещё не скоро.
msCDEK исключен из продажи до той поры пока у меня не получится его переписать. Если кто то жаждет переписать компонент нормально с нуля, милости просим. Я подозреваю будет лес рук.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.