Расчет стоимости доставки - модификация.


Действительно для новых пакетов — msDellin2, msKit, msPec — где используется стороннее api для расчета стоимости доставки.

Для модификации будем использовать плагин на событие msDellinOnAfterRequest, для других пакетов есть подобные события с одноименными названиями.
Пример плагина ниже


Возникла ситуация когда город отправления == городу доставки, в таком случае большинство ТК — выдают ошибку расчета и как следствие сниппет расчета стоимости доставки продукта выдает — нет доставки. Понятно что это некрасиво и пугает покупателя. Вот для такого случая хотелось бы модифицировать цену и время доставки.

Создадим плагин на событие msDellinOnAfterRequest, в нем получим опции запроса и при условии когда город отправления == городу доставки поставим свою цену и время доставки.

<?php

switch ($modx->event->name) {

    case 'msDellinOnAfterRequest':
        $mode = $modx->getOption('mode', $scriptProperties, array(), true);
        $params = $modx->getOption('params', $scriptProperties, array(), true);
        $result = $modx->getOption('result', $scriptProperties, array(), true);

        $derivalPoint = $modx->getOption('derivalPoint', $params);
        $arrivalPoint = $modx->getOption('arrivalPoint', $params);

        /* set delivery default */
        if (
            $mode == 'public/calculator'
            AND
            $derivalPoint == $arrivalPoint
        ) {
            $result['delivery'] = array(
                'delivery_cost' => 200,
                'delivery_time' => 1,
                'delivery_info' => ''
            );

            $modx->event->returnedValues['result'] = $result;
        }

        break;

}
Таким образом можно влиять на расчетную стоимость доставки согласно вашим хотелкам.
Спасибо за внимание!)
03 августа 2016, 20:34    Володя   G+  
1    651 +1

Комментарии (0)

    Вы должны авторизоваться, чтобы оставлять комментарии.