Документация для разработчиков
Темная тема

События компонента оформления заказа

Примечание: с версии 16.0.31 модуля Интернет-магазин добавлена возможность пересчета заказа после изменения в событиях по флагу RECREATE_ORDER.

Примечание: с версии 21.300.50 модуля Интернет-магазин для пересчета суммы заказа после изменения данных следует добавить флаг $arUserResult['CALCULATE_PAYMENT'] = 'Y'.

СобытиеОписание и параметры С версии
OnSaleComponentOrderCreated Вызывается после создания и расчета обьекта заказа.

Параметры
$order Обьект заказа \Bitrix\Sale\Order.
&$arUserResult Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request Обьект \Bitrix\Main\HttpRequest.
&$arParams Массив параметров компонента.
&$arResult Массив arResult компонента.
&$arDeliveryServiceAll Массив доступных по ограничениям служб доставки.
&$arPaySystemServiceAll Массив доступных по ограничениям платежных систем.
16.0.23
OnSaleComponentOrderShowAjaxAnswer Вызывается перед отправкой ajax-ответа.

Параметры
&$result Массив данных для ответа ajax'ом.
16.0.23
OnSaleComponentOrderJsData Вызывается после инициализации массива с данными для javascript-обработчика.

Параметры
&$arResult Массив arResult компонента.
&$arParams Массив параметров компонента.
16.0.23
OnSaleComponentOrderProperties Вызывается после получения всех свойств заказа (из значений по умолчанию, из профиля или уже заполненных клиентом).

Параметры
&$arUserResult Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request Обьект \Bitrix\Main\HttpRequest.
&$arParams Массив параметров компонента.
&$arResult Массив arResult компонента.
16.0.26
OnSaleComponentOrderUserResult Вызывается после получения данных (свойств заказа, платежной системы, службы доставки и т.п.), отправленных клиентом.

Параметры
&$arUserResult Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request Обьект \Bitrix\Main\HttpRequest.
&$arParams Массив параметров компонента.
16.0.26
OnSaleComponentOrderDeliveriesCalculated Вызывается после расчета тарифов на доставки.

Параметры
$order Обьект заказа \Bitrix\Sale\Order.
&$arUserResult Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request Обьект \Bitrix\Main\HttpRequest.
&$arParams Массив параметров компонента.
&$arResult Массив arResult компонента.
&$arDeliveryServiceAll Массив доступных по ограничениям служб доставки.
&$arPaySystemServiceAll Массив доступных по ограничениям платежных систем.
16.0.28
OnSaleComponentOrderResultPrepared Вызывается после формирования всех данных компонента на этапе заполнения формы заказа, может быть использовано для модификации данных. Аналог устаревшего события OnSaleComponentOrderOneStepProcess.

Параметры
$order Обьект заказа \Bitrix\Sale\Order.
&$arUserResult Массив arUserResult компонента, содержащий текущие выбранные пользовательские данные.
$request Обьект \Bitrix\Main\HttpRequest.
&$arParams Массив параметров компонента.
&$arResult Массив arResult компонента.
16.0.28


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
WTF WithBitrix
Сообщение не промодерировано, возможны ошибки и неточности.
в bx24
не отрабатывают события:
Код
OnSaleComponentOrderResultPrepared
OnSaleComponentOrderCreated


Код
function writeLog($data, $title = 'logs',$file = "/home/bitrix/www/local/apps/sales/app.log")
    {
        $log = "\n------------------------\n";
        $log .= date("Y.m.d G:i:s") . "\n";
        $log .= (strlen($title) > 0 ? $title : 'DEBUG') . "\n";
        $log .= print_r($data, 1);
        $log .= "\n------------------------\n";
        file_put_contents($file, $log, FILE_APPEND);
        return true;
    }



AddEventHandler("sale", "OnSaleComponentOrderResultPrepared", "onlinePayment");

function onlinePayment($order, &$arUserResult, $request, &$arParams, &$arResult)
{

    
    // order_id 
    $file = "/home/bitrix/www/local/apps/sales/app.log";
 
    
    writeLog($user_result,'$user_result',$file); 
    writeLog($params,'$params',$file);
    writeLog($result,'$result',$file);

    // require_once $_SERVER["DOCUMENT_ROOT"].'/local/apps/sales/onlinePayment.php';
}

2
Лев Шестопалов
Вариант изменения сортировки служб доставки:
Код
Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleComponentOrderJsData', 'OnSaleComponentOrderJsDataHandler');

function OnSaleComponentOrderJsDataHandler(&$arResult, &$arParams)
{

foreach($arResult['JS_DATA']['DELIVERY'] as $delivery)
{
if($delivery['ID'] == 18)
{
   $arResult['JS_DATA']['DELIVERY'][18]['SORT'] = 10000;
}

}
}
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх