msRussianPost 1.0.0: расчет доставки Почтой России
Описание
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 за возможность создания данного компонента.
С текущего момента поддержкой компонента занимается Павел Карелин.
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
С текущего момента поддержкой компонента занимается Павел Карелин.
Комментарии: 61
Компонент доступен в магазине.
Михаил, хотелось бы демку посмотреть, есть она?
Демки пока нет. В течение нескольких часов оживлю свой технический сайт, где есть этот компонент — можно будет посмотреть. Главное — не воспринимать этот сайт как демку. Он совсем страшный )
Хорошо, тем более, что нужен не сайт, а работа аддона :)
tickets.o.aaa0.ru
Товар там только 1 — нетбук. Повторю — это не демка в прямом смысле :)
Товар там только 1 — нетбук. Повторю — это не демка в прямом смысле :)
Спасибо!
От почты России можно 1 вариант сделать, к примеру, «Почта России Простая бандероль»?
От почты России можно 1 вариант сделать, к примеру, «Почта России Простая бандероль»?
Да, для этого достаточно отключить остальные способы доставки через ПР.
Супер, куплю обязательно.
Спасибо!
Спасибо!
Не за что. Покупай :)
Почта России Курьерская доставка EMS — это встроенное? Другой аддон не нужен? msEMS тогда не пригодится уже?
Да, здесь EMS поддерживается.
Но: в msEMS есть поддержка международных отправлений. В msRussianPost пока только российский города.
Но: в msEMS есть поддержка международных отправлений. В msRussianPost пока только российский города.
Спасибо!
Не за что )
Михаил, а компонент умеет округлять стоимость доставки, что бы копеек не было, или с точностью до 10/50/100 рублей?
Не умеет. Если надо, напишите в поддержке — добавлю такую возможность.
Хорошо, спасибо, ближе к делу тогда напишу…
Доставка Почта России Курьерская доставка EMS
рассчитывает стоимость доставки даже там где курьерская служба не доставляет
Потом будут претензии мол платил за курьерскую а вы по почте отправили которая дешевле на тысячу рублей
Как быть?
рассчитывает стоимость доставки даже там где курьерская служба не доставляет
Потом будут претензии мол платил за курьерскую а вы по почте отправили которая дешевле на тысячу рублей
Как быть?
Ответ ниже.
Адрес доставки
Указываю Магадан
из Саратовской области Энгельс
вес 4,3кг цена вещи 360р.
насчитал доставку 3930 Откуда?
В то время как сайт postcalc.ru/ насчитал авиапосылку 2784р максимум
сайт почты России выдал максимум без учета упаковки — 1 776 р
А переключаю на EMS там цена доставки 1700р. ДЕШЕВЛЕ 0_о
Сайт почты России вообще говорит что в Магадан не ходит EMS
Указываю Магадан
из Саратовской области Энгельс
вес 4,3кг цена вещи 360р.
насчитал доставку 3930 Откуда?
В то время как сайт postcalc.ru/ насчитал авиапосылку 2784р максимум
сайт почты России выдал максимум без учета упаковки — 1 776 р
А переключаю на EMS там цена доставки 1700р. ДЕШЕВЛЕ 0_о
Сайт почты России вообще говорит что в Магадан не ходит EMS
Загрузил в магазин обновленную версию. Если доставка выбранным методом невозможна, стоимость доставки считается нулевой, вместо срока доставки выводится сообщение о невозможности доставить данным способом.
Михаил, а почему это в сроках отражается? я вообще сроки не вывожу например, так как товар еще менеджеру (перекупу) нужно заказать на это надо время, пару недель например чтобы товар пришел в магазин, а потом только срок доставки. Это сообщение вводит в заблуждение, поэтому от него отказались.
Другое дело если делать кнопку «Сделать заказ!» не активной, но тогда можно Энтером отправить, тоже не варик.
Как же делать чтобы было правильно и универсально? Может отдельно выводить сообщения эти от сообщений о сроках доставки?
Другое дело если делать кнопку «Сделать заказ!» не активной, но тогда можно Энтером отправить, тоже не варик.
Как же делать чтобы было правильно и универсально? Может отдельно выводить сообщения эти от сообщений о сроках доставки?
Добавлена системная настройка msrussianpost_return_time. Если ее отключить, срок доставки не будет выводиться. На сообщения о невозможности доставки это не влияет.
Обновляйтесь.
Обновляйтесь.
Не указывать город нельзя, так как куда отправлять товар? В область Саратовскую и всё? Да возможно будет правильно рассчитана стоимость если в селекторе выбрать Саратовская область.
Что я делаю и какие ответы получаю:
1. Указал вручную город при отсутствующем селекте, прописал #city_select полю с городом
ответ — метод недоступен
shot.hsdn.org/oyX8RLjE
Хотя указал тоже самое на сайте postcalc.ru, которым пользуется данное приложение
ответ — или 303р. доставка ценной посылки или 640р.
shot.hsdn.org/x0xWdexD
2. Сделал вывод селект списка и города одновременно, у поля город указал #city_select
В селекте выбрал Саратовскую область
Скрин — shot.hsdn.org/Rw4X6m8Z вроде все работает
далее указываю город в области
скрин — shot.hsdn.org/msUmrHRH Цена доставки не обновилась, написано по прежнему про область и пропала область из селекта, там пустота
далее щелкаю кнопки доставки на самовывоз и обратно на «Почта России Ценная посылка»
скрин — shot.hsdn.org/24iV8IMs Опять для этого города по какой то причине посылка не считается, хотя указал тоже самое на сайте postcalc.ru, которым пользуется данное приложение
ответ — или 303р. доставка ценной посылки или 640р.
shot.hsdn.org/x0xWdexD
Что я делаю и какие ответы получаю:
1. Указал вручную город при отсутствующем селекте, прописал #city_select полю с городом
ответ — метод недоступен
shot.hsdn.org/oyX8RLjE
Хотя указал тоже самое на сайте postcalc.ru, которым пользуется данное приложение
ответ — или 303р. доставка ценной посылки или 640р.
shot.hsdn.org/x0xWdexD
2. Сделал вывод селект списка и города одновременно, у поля город указал #city_select
В селекте выбрал Саратовскую область
Скрин — shot.hsdn.org/Rw4X6m8Z вроде все работает
далее указываю город в области
скрин — shot.hsdn.org/msUmrHRH Цена доставки не обновилась, написано по прежнему про область и пропала область из селекта, там пустота
далее щелкаю кнопки доставки на самовывоз и обратно на «Почта России Ценная посылка»
скрин — shot.hsdn.org/24iV8IMs Опять для этого города по какой то причине посылка не считается, хотя указал тоже самое на сайте postcalc.ru, которым пользуется данное приложение
ответ — или 303р. доставка ценной посылки или 640р.
shot.hsdn.org/x0xWdexD
Отправка запроса на обновление стоимости происходит при изменении поля #citi_select. При этом, расчет стоимости (механизм) работает по полю name=«city», тк это штатное поле для самого miniShop2.
В отдаленном будущем есть планы перевести компонент на новое API postcalc.ru, которое работает по индексам, но сроки пока даже примерные не назову.
В отдаленном будущем есть планы перевести компонент на новое API postcalc.ru, которое работает по индексам, но сроки пока даже примерные не назову.
Ниже под [[$tpl.msRussianPost.city]]
расположен стандартный инпут города
Оставлен на случай отсутствия города в списках
Сперва ввожу один город потом другой город.
Цена доставки не обновляется
пока не по щелкаешь по радио кнопкам выбора доставки
Как вообще должно выглядеть если города, поселка нет в этом селект списке?
расположен стандартный инпут города
Оставлен на случай отсутствия города в списках
Сперва ввожу один город потом другой город.
Цена доставки не обновляется
пока не по щелкаешь по радио кнопкам выбора доставки
Как вообще должно выглядеть если города, поселка нет в этом селект списке?
Это потому что изначально порочна сама идея привязывать расчет к названию населенного пункта. Надо отталкиваться от индекса, т.е. Клиент вводит индекс, и этого достаточно для расчета, а поле с названием города он либо сам заполняет как хочет, либо автоматом по индексу определять и подставлять.
Пусть сам заполняет.
Я вообще не понимаю как автор задумал все это. Вот нет в списках города или он находится в Области к примеру Воронежской.
Туда нет курьерской доставки, данное дополнение это не умеет определять. оно считает доставку в любом случае, даже не убирает этот вариант доставки из списка, то есть заказчик должен сам разгребать есть там ЕМС или нет.
При написании вручную города, например может ошибиться в буквах ЕЁ или сделать опечатку. Доставка опять насчитает криво, так как не обновится сумма доставки, робокасса отправит минишопу что счет оплачен и будет в магазине статус ОПЛАЧЕНО а сумма оплаты неправильная, и гадай какой заказ правильно оплачен а какой нет.
Потом пиши письма заказчику и объясняй почему на пару тысяч ошибочка вышла. Да он просто скажет верните деньги.
Приложение, не рабочее.
Я вообще не понимаю как автор задумал все это. Вот нет в списках города или он находится в Области к примеру Воронежской.
Туда нет курьерской доставки, данное дополнение это не умеет определять. оно считает доставку в любом случае, даже не убирает этот вариант доставки из списка, то есть заказчик должен сам разгребать есть там ЕМС или нет.
При написании вручную города, например может ошибиться в буквах ЕЁ или сделать опечатку. Доставка опять насчитает криво, так как не обновится сумма доставки, робокасса отправит минишопу что счет оплачен и будет в магазине статус ОПЛАЧЕНО а сумма оплаты неправильная, и гадай какой заказ правильно оплачен а какой нет.
Потом пиши письма заказчику и объясняй почему на пару тысяч ошибочка вышла. Да он просто скажет верните деньги.
Приложение, не рабочее.
Обновитесь.
Обновление цены происходит при изменении поля #city_select. Стандартное поле ввода названия города имеет другой ID, потому скрипт на него не срабатывает.
куда все делись
В течение сегодняшнего дня дам ответ. На DevCamp с инетом была печаль :)
Михаил, день добрый Minishop2.4 поддерживается?
Целенаправленно не проверялось. После покупки напишите в поддержке магазина, если будет работать неправильно — исправлю.
Михаил, доброго времени суток!
Подскажите, Ваш модуль можно связать с Geolocation?
Спасибо.
Подскажите, Ваш модуль можно связать с Geolocation?
Спасибо.
Дмитрий, добрый вечер!
Напишите в поддержку, после каникул посмотрим на возможность их подружить.
Напишите в поддержку, после каникул посмотрим на возможность их подружить.
Михаил, здравствуйте. Приобрел Ваш модуль, поставил, вроде все ок, но при выборе города там нет например того в котором я живу и многих других и вперемешку с областями
Денис, для списка городов взят список, предоставляемый ранее сервисом postcalc.ru. В отдаленных планах есть изменение компонента под обновленный API сервиса, но срок пока сложно назвать.
Ок, скажите если msCDEK дополнительно поставлю, список городов изменится или останется прежним? И можно посмотреть список городов по сдэк?
Они используют разные списки.
www.edostavka.ru/website/edostavka/upload/custom/files/CDEK_city.zip
Здесь полный список городов, которые поддерживает СДЕК. Вместе с компонентом идет сжатый список — только те города, которые отмечены как центры.
www.edostavka.ru/website/edostavka/upload/custom/files/CDEK_city.zip
Здесь полный список городов, которые поддерживает СДЕК. Вместе с компонентом идет сжатый список — только те города, которые отмечены как центры.
Ок, еще можно ли в msRussianPost указать сортировку так чтобы города не мешались с областями?
Сортировка происходит в сниппете msRussianPostCities на 22 строке.
ок, спс
Добрый день! А есть ли возможность посчитать доставку в города Московской области? Не пойму как пользоваться. Например до города Зеленоград. На сервисе postcalc.ru я могу по индексу 124460 посчитать. Однако по этому индексу он подставляет Москва 460. Это как то решаемо, чтобы было понятно для пользователя?
Добрый день.
В текущей версии не поддерживается. Требуется переработка компонента для использования новой версии API сервиса. В ближайшее время такая работа не планируется.
В текущей версии не поддерживается. Требуется переработка компонента для использования новой версии API сервиса. В ближайшее время такая работа не планируется.
Подскажите, пожалуйста, как в эту конструкцию вставить чанк [[$tpl.msRussianPost.city]]?
{foreach ['index','region','city'] as $field}
<div class="form-group input-parent">
<label class="col-md-6 control-label" for="{$field}">
<span class="required-star">*</span> {('ms2_frontend_' ~ $field) | lexicon}
</label>
<div class="col-sm-12">
<input type="text" id="{$field}" placeholder="{('ms2_frontend_' ~ $field) | lexicon}"
name="{$field}" value="{$form[$field]}"
class="form-control{($field in list $errors) ? ' error' : ''}">
</div>
</div>
{/foreach}
Если не решил то пиши в личку подскажу, если кратко то надо из этого цикла вытащить итерацию с полем ввода города и дальше уже вставить вызов чанка.
Спасибо, дружище. Так и сделал. ))
А вообще поражает отношение разработчика, пишет в инструкции устаревший уже год как метод правки — новички по месяцу тыкаются, пытаясь править неиспользуемый чанк tpl.msOrder.outer )))
Вроде как платное приложение, а афишируемая работоспособность сниппета msCDEK на странице товара по сути уже с весны как я купил этО изделие, абсолютно нерабоспособно
Вроде как платное приложение, а афишируемая работоспособность сниппета msCDEK на странице товара по сути уже с весны как я купил этО изделие, абсолютно нерабоспособно
Поскольку для меня поддержка данных компонентов нецелесообразна по ряду причин, уже начат процесс передачи компонентов новому автору. В скором времени подробности станут известны.
имел ввиду соседний компонент msCDEK
С сегодняшнего дня поддержкой компонента занимается Павел Карелин.
Господа, будьте осторожны, разработчик не указал одну особенность, возможно недокументированная, но судя по результатам проведенных исследований, скорее всего это банальная руко***.
При вызове сниппета в карточке товара результата расчета сниппета не поддается никакой логике, при этом наблюдается некая взаимосвязь с наличием товаров в корзине:
1. если корзина пуста, стоимость доставки на странице товара =180р
2. если корзина наполнена товарами, то расчет на странице товара =325р
WTF?)))
Кто-то может возразить — и это первая мысль что пришла мне в голову — возможно, в стоимость добавилась сумма доставки для товаров, которые уже в корзине? НЕТ! На странице корзины сниппет показывает стоимость 438р (3 разных товара).
Как видно, три абсолютно не связанных между собой числа.
Проверялось и для одного и того же товара и для разных товаров и для разных регионов и для разных видов почтовых отправлений.
Компонент крайне не рекомендуемый к покупке!
В тех. поддержку писать нет никакого желания, еще раз там получить порцию оскорблений от нового преемника компонента может переполнить чашу сию.
При вызове сниппета в карточке товара результата расчета сниппета не поддается никакой логике, при этом наблюдается некая взаимосвязь с наличием товаров в корзине:
1. если корзина пуста, стоимость доставки на странице товара =180р
2. если корзина наполнена товарами, то расчет на странице товара =325р
WTF?)))
Кто-то может возразить — и это первая мысль что пришла мне в голову — возможно, в стоимость добавилась сумма доставки для товаров, которые уже в корзине? НЕТ! На странице корзины сниппет показывает стоимость 438р (3 разных товара).
Как видно, три абсолютно не связанных между собой числа.
Проверялось и для одного и того же товара и для разных товаров и для разных регионов и для разных видов почтовых отправлений.
Компонент крайне не рекомендуемый к покупке!
В тех. поддержку писать нет никакого желания, еще раз там получить порцию оскорблений от нового преемника компонента может переполнить чашу сию.
справочно:
При полной корзине на сервер postcalc уходит стоимость корзины
[ОценкаВложения] => 3600
Причем тут стоимость доставки товаров из корзины и стоимость доставки какого-то одного товара?
Почему со страницы товара не отправляется стоимость? Тоже получается расчет неверный.
Т.е. сниппет, созданный для работы на странице товара, явно сырой. Одну ошибку уже нашли совместными усилиями неделю назад, еще одну помочь найти? Почему нет? За 50% прибыли очень даже был бы рад…
При полной корзине на сервер postcalc уходит стоимость корзины
[ОценкаВложения] => 3600
Причем тут стоимость доставки товаров из корзины и стоимость доставки какого-то одного товара?
Почему со страницы товара не отправляется стоимость? Тоже получается расчет неверный.
Т.е. сниппет, созданный для работы на странице товара, явно сырой. Одну ошибку уже нашли совместными усилиями неделю назад, еще одну помочь найти? Почему нет? За 50% прибыли очень даже был бы рад…
Как добавить вариант доставки: Посылка 1 класса?
Доброго дня, интересует совместимость с скриптом Shopkeeper.
Возможно привязать модуль к магазину на Shopkeeper?
Возможно привязать модуль к магазину на Shopkeeper?
С Shopkeeper работать не будет. Для него нужно писать своё решение.
Не советую — техподдержка не отвечает, когда глючит модуль.
Почемупри смене города action.php отдает ошибку 500?
Посмотрите серверный error.log, 500я ошибка должна туда записываться, возможно станет понятно из за чего проблема. Ну или напишите в техподдержку, т.к. компонент платный.
спасибо
В последней версии есть возможность сделать расчет доставки в карточке товара?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.