События плагина

    События плагина

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

    Описание событий

    OnCommerceDeliveryGoshippoBeforeMarkupRender

    Вызывается перед генерацией блока из полями для ввода адреса, позволяет добавить свои данные или переопределить текущие.

    Параметры:

    Имя параметраПередается по ссылкеОписание
    dataДа Массив с данными, которые передаются в шаблон
    switch ($modx->event->name) {
        case 'OnCommerceDeliveryGoshippoBeforeMarkupRender':
        $params['data']['myField'] = 'test1234';
        break;
    }

    OnCommerceDeliveryGoshippoAddressReceived

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

    Параметры:

    Имя параметраПередается по ссылкеОписание
    addressДа Адрес, который получим из запроса.
    fieldsПоля которые будут переданы в goshippo для получения тарифов
    fullФлаг, который означает что адрес полностью заполнен, и можно запросить тарифы
    requireStateФлаг, который означает что для данного адреса обязательн заполнить штат
    typeнет Тип адреса, destination - получатель,sender - отправитель
    switch ($modx->event->name) {
        case 'OnCommerceDeliveryGoshippoAddressReceived':
            $params['address']['full'] = true;
            break;
    }

    OnCommerceDeliveryGoshippoParcelsCalculate

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

    Параметры:

    Имя параметраПередается по ссылкеОписание
    itemsНет Массив товаров
    parcelsДа Масив поссылок и их габаритов
    switch ($modx->event->name) {
        case 'OnCommerceDeliveryGoshippoParcelsCalculate':
            foreach ($params['parcels'] as $key =>  $parcel) {
                $params['parcels'][$key]['weight']  = $parcel['weight'] * 0.1;
            }
        break;
    }

    OnCommerceDeliveryGoshippoBeforeRatesCalculate

    Вызывается перед получением тарифов, позволяет изменить данные которые передаются в апи для расчета тарифов доставки.

    Параметры:

    Имя параметраПередается по ссылкеОписание
    address_fromДа Адрес отправителя
    address_toДа Адрес получателя
    parcelsДа Габариты посылок

    OnCommerceDeliveryGoshippoRatesCalculate

    Вызывается после получением тарифов, позволяет изменить список и параметры тарифов (заголовок, цена и т.д.)

    Параметры:

    Имя параметраПередается по ссылкеОписание
    address_fromНет Адрес отправителя
    address_toНет Адрес получателя
    parcelsНет Габариты посылок
    ratesДа Тарифы
    switch ($modx->event->name) {
        case 'OnCommerceDeliveryGoshippoRatesCalculate':
            foreach ($params['rates'] as $key => $rate) {
                if($rate['provider'] !=='USPS'){
                    unset($params['rates'][$key]);
                }
            }
            break;
    }

    OnCommerceDeliveryGoshippoBeforeInvoiceCreate

    Вызывается перед генерацией накладной, позволяет отменить генерацию или изменить параметры передаваемые в апи.

    Параметры:

    Имя параметраПередается по ссылкеОписание
    orderНет Данные заказа
    rateНет Данные выбранного тарифа
    request_paramsДа Параметры передаваемые в апи
    preventДа Флаг отмены генерации накладной

    OnCommerceDeliveryGoshippoInvoiceCreate

    Вызывается после генерацией накладной.

    Имя параметраПередается по ссылкеОписание
    orderНет Данные заказа
    rateНет Данные выбранного тарифа
    transactionДа Данные о накладной