- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки от автора
Возможности
- Рассчитывать стоимость доставки, с учетом веса заказа и стоимости всех товаров.
- Просмотр все отделений “Новая Почта” на карте Google в определенном городе с возможностью выбрать нужное.
- Создание/редактирование в автоматическом/ручном режиме товарно транспортной накладной (ТТН) она же
экспресс-накладная на отделение и на почтамт «Новая почта»
Типы доставки:
от отделения до отделения,
от отделения до адреса.
Видео-обзор
Видео устарело и не отражает весь функционал дополнения!
Настройка
После того как вы установили пакет необходимо зайти в его настройки и указать первым делом API ключ «Новая почта» который можно получить согласно
инструкции.
После того как вы указали API ключ «Новая почта» необходимо нахать на кнопку «Сохранить» и только после этого продолжить настраивать остальные параметры.
Также крайне желательно получить свой ключ для API Google Maps, а не использовать который установлен по умолчанию т.к количество запросов в рамках одного ключа к сервису Google Maps ограничено.
ВАЖНО! Созданные через ваш магазин ТТН могут редактироваться только в нем же т/е на сайте «Новая почта» их отредактировать нельзя.
Cниппеты
msNovaPoshta.Order — расчет стоимости доставки и выбора отделения.
Параметры:
elements — cписок сниппетов через запятую, которые нужно запустить. По умолчанию msOrder,
tpl — Чанк оформления. По умолчанию msNovaPoshta.order,
theme — Название темы (js и css скрипты которые будут подключены на фронтенде). По умолчанию default,
zoom — Zoom для карты Google. По умолчанию 12
Cниппет msNovaPoshta.Order является ничем иным как оберткой, выполняет необходимые действия, данные выставляет в плейсходеры, затем запускает поочередно сниппеты из списка elements. Последним необходимо указать родной сниппет msOrder.
Пример вызова
[[!msNovaPoshta.Order]]
msNovaPoshta.Tracking — трекинг посылки.
Параметры:
order — ID заказа,
number — Номер товарно транспортной накладной, если задан order number не обязателен или если задан number то order не обязателен.
tpl — Чанк оформления. По умолчанию msNovaPoshta.tracking, В переменной чанка data доступна вся информация ответа на запрос к API
События
msnpOnGetDeliveryCost — расчет стоимости доставки:
np — экземпляр класса дополнения
cost — стоимость заказанных товаров
weight — общий вес заказанных товаров
deliveryCost — стоимость доставки
deliveryId — id способа доставки
citySender — код города отправителя
cityRecipient — код города получателя
serviceType — тип услуги
cargoType — значение из справочника Тип груза: Cargo, Documents, TiresWheels, Pallet
Пример плагина:
switch ($modx->event->name) {
case 'msnpOnGetDeliveryCost':
if($cost > 1000) { // если стоимость заказанных товаров больше 1000 Гр. делаем доставку бесплатной
$modx->event->returnedValues['deliveryCost'] = 0;
}
break;
}
msnpOnBeforeSaveTTN — срабатывает перед сохранением ТТН:
mode — может принимать значение либо new (новая ТТН), либо upd (редактирование ТТН)
order — объект msOrder
msnovaposhta — объект MsNovaPoshta
data — массив исходных данных
params — массив подготовленных данных для запроса к API
Пример плагина изменения объявленной стоимости для новой ТТН:
switch ($modx->event->name) {
case 'msnpOnBeforeSaveTTN':
if($mode != 'new') return;
//$modx->log(modX::LOG_LEVEL_ERROR,print_r($data,1));
//$modx->log(modX::LOG_LEVEL_ERROR,print_r($params,1));
$params['Cost'] = $params['Cost'] + 100;
$modx->event->returnedValues['params'] = $params;
break;
}
msnpOnSaveTTN — срабатывает после сохранения ТТН:
mode — new|upd
order — объект msOrder
msnovaposhta — объект MsNovaPoshta
data — массив исходных данных
params — массив подготовленных данных для запроса к API
result — массив данных ответа запроса к API
Пример плагина отправки номера ТТН покупателю:
switch ($modx->event->name) {
case 'msnpOnSaveTTN':
if($mode != 'new') return;
$email = $order->getOne('UserProfile')->get('email');
//$receiver = $order->getOne('Address')->get('receiver');
if($email) {
$num = $order->get('num');
$subject = "Номер экспресс-накладной для заказа №{$num}";
$message = "Стоимость: {$result['CostOnSite']}; Прогноз даты доставки: {$result['EstimatedDeliveryDate']}; Номер экспресс-накладной: <a href=\"https://novaposhta.ua/tracking/?cargo_number={$result['IntDocNumber']}\" target=\"_blank\">{$result['IntDocNumber']}</a>";
$msnovaposhta->sendEmail($email, $subject, $message);
}
break;
}
FAQ
Q: Каким образом передавать данные о доставке менеджеру в письме?
A: В чанк tpl.msEmail.new.manager добавить код
{if $properties.msnovaposhta.area? }<strong>Область:</strong> {$properties.msnovaposhta.area}{/if}
{if $properties.msnovaposhta.city? }<strong>Город:</strong> {$properties.msnovaposhta.city}{/if}
{if $properties.msnovaposhta.warehouse? }<strong>Отделение:</strong> {$properties.msnovaposhta.warehouse.Description}{/if}
{if $properties.msnovaposhta.number_ttn? }<strong>Номер ТТН:</strong> {$properties.msnovaposhta.number_ttn}{/if}
msNovaPoshta 2.0.2
- Исправлено: Игнорирование смены "Способы оплаты" или "Варианты доставки"
- Исправлено: Создания ТТН с спецсимволами в описании
msNovaPoshta 2.0.1
- Добавлено: Возможность выбрать несколько значений для опций: Статус заказа для автоматического создания ТТН; Статус заказа для автоматического удаления ТТН; Способ оплаты наложенный платеж;
- Исправлено: Сброс последнего заполненного поля из данных получателя при выборе области, города или отделения доставки
msNovaPoshta 2.0.0
- Добавлено: Автоматическое создание, обновление и удаление товарно транспортной накладной
- Добавлено: Сниппет msNovaPoshta.Tracking
- Добавлено: События "msnpOnBeforeSaveTTN" и "msnpOnSaveTTN"
-
Изменено: Параметр "Добавлять стоимость доставки" на "Кто оплачивает доставку". Если выбрано "получатель" то стоимость доставки добавляется к стоимости заказа.
- ВАЖНО!! Перед обновлением с 1-й версии на 2-ю желательно сделать бэкап сайта и БД, а после обновления обязательно нужно сделать донастройку компонента и очистить кэш сайта и браузера.
msNovaPoshta 1.0.9
- Исправлено: Список городов
msNovaPoshta 1.0.8
- Добавлено: Событие "msnpOnGetDeliveryCost"
msNovaPoshta 1.0.7
- Исправлено: Информация о заказе
msNovaPoshta 1.0.6
- Исправлено: Общая стоимость заказа
msNovaPoshta 1.0.5
- Исправлено: Дублирование ID элементов формы в чанке "msNovaPoshta.order". Добавлены постфиксы _courier и _pickup.
msNovaPoshta 1.0.4
Добавлено: Интеграция с msMultiCurrency
msNovaPoshta 1.0.3
- Исправлено: Карта Google для устройств на iOS
msNovaPoshta 1.0.2
- Исправлено: Список городов в заказе
msNovaPoshta 1.0.1
- Добавлено: Возможность показать отделения с учетом веса заказа
- Исправлено: Ошибка "caught TypeError: Cannot read property 'msnovaposhta' of null"
- Исправлено: Дублирование городов
Последние обсуждения в сообществе MODX.pro