##MsEMSPost##
Компонент предоставляет возможность автоматического расчета стоимости доставки службой EMS Russian Post. Для расчетов используется API самой службы, потому можно не беспокоится о смене тарифов, или максимального веса.
При установке пакета на вашем сайте появится новый способ доставки «Почта России EMS». При необходимости настроить его Вы можете сделать это точно так же как и работая с любым другим способом доставки в miniShop2.
Для корректной работы обязательно нужно указать город из которого Вы планируете отправлять заказы в настройках системы (пространство имен «minishop2» раздел «Доставка» параметр ms2_delivery_from). Обратите внимание, что Указать город можно только из списка доступных для API, этот список можете посмотреть на сайте службы в калькуляторе [http://www.emspost.ru/ru/calc/][1]. Внимательно вводите город, не перепутайте буквы, иначе ничего работать не будет, регистр букв при этом значения не имеет.
Остается одна проблема. Если сервис службы работает только если указать определенный город из списка, то как заставить покупателя внимательно его выбирать и вводить?
Кроме города отправления и города назначения компонент также учитывает при расчетах вес заказа, если его вес привышает максимальный вес отправлния, то будет рассчитана стоимость такого количества отправлений чтоб заказ был отправлен полностью.
Для этого в пакет добавлен специальный сниппет, который умеет получать список этих самых городов. Сниппет называется msEmspost, и принимает всего 2 параметра:
- tpl — чанк для оформления каждого отдельного города (доступен плейсхолдер city в котором хранится название города)
- toPlaceholder – если указан, то вывод сниппета будет записан в плейсхолдер соответствующий значению этого параметра
Хочу также обратить ваше внимание на один из стандартных чанков — tpl.msEmspost.select. Это чанк включающий в себя код необходимый для вывода выпадающего списка городов и обработки его изменения. В частности в нем добавленно несколько строк кода javascript, среди которых есть такая $.ajaxSetup({async: false}); она необходима для корректной работы. Кто разбирается в javascript вполне сможет переделать всё под себя, но необходимо обеспечить чтобы запрос на определение стоимости заказа не отправлялся до тех пор, пока не будет получен ответ в предыдущем.
Чтобы вывести список доступных городов можно просто заменить чанком tpl.msEmspost.select поле для указания города на странице оформления заказа, всё остальное компонент сделает сам.
[1]: http://www.emspost.ru/ru/calc/