Информация по товарам в корзине с учетом всех примененных скидок и купонов

Информация по товарам в корзине с учетом всех примененных скидок и купонов

Просмотров: 470
Функция возвращает информацию по товарам в корзине с учетом всех примененных скидок и купонов
function getBasketWithFullDiscounts() {
    $fuserId = CSaleBasket::GetBasketUserID();
    $dbBasketItems = CSaleBasket::GetList(
        array("ID" => "ASC"),
        array(
            "FUSER_ID" => $fuserId,
            "LID" => SITE_ID,
            "ORDER_ID" => "NULL",
            "DELAY"=>"N"
        ),
        false,
        false,
        array(
            "ID", "NAME", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "PRODUCT_PRICE_ID", "QUANTITY", "DELAY", "CAN_BUY",
            "PRICE", "WEIGHT", "DETAIL_PAGE_URL", "NOTES", "CURRENCY", "VAT_RATE", "CATALOG_XML_ID",
            "PRODUCT_XML_ID", "SUBSCRIBE", "DISCOUNT_PRICE", "PRODUCT_PROVIDER_CLASS", "TYPE", "SET_PARENT_ID"
        )
    );
    $allSum = 0;
    $allWeight = 0;
    $arResult = array();
    while ($arBasketItems = $dbBasketItems->Fetch())
    {
        $allSum += ($arBasketItems["PRICE"] * $arBasketItems["QUANTITY"]);
        $allWeight += ($arBasketItems["WEIGHT"] * $arBasketItems["QUANTITY"]);
        $arResult[] = $arBasketItems;
    }
    $arOrder = array(
        'SITE_ID' => SITE_ID,
        'USER_ID' => $GLOBALS["USER"]->GetID(),
        'ORDER_PRICE' => $allSum, // сумма всей корзины
        'ORDER_WEIGHT' => $allWeight, // вес всей корзины
        'BASKET_ITEMS' => $arResult // товары сами
    );
    $arOptions = array(
        'COUNT_DISCOUNT_4_ALL_QUANTITY' => "Y",
    );
    $arErrors = array();
    CSaleDiscount::DoProcessOrder($arOrder, $arOptions, $arErrors);
    return $arOrder;
}
#скидки_и_бонус

Ещё статьи:

20.05.2025 Во что можно влететь при обновлении или почему важно ТЗ
Получил запрос от клиента, что "нам просто нужно обновить битрикс", который автоматически тянет за собой перевод старого сайта на версию РНР 8. ID: 619

20.05.2025 В устаревших версиях модулей от eSolutions и Маяк есть уязвимости.
Устаревшие версии eSolutions и Маяк - риск взлома вашего сайта. Обновите эти решения на вашем сайте. ID: 618

18.05.2025 Успешный IT фрилансер - кто это и как им стать?
Кто такой фрилансер
Часто вижу темы с вопросом как найти работу фрилансером, как начать и т.д., но все задающие вопросы не понимают базу, саму суть ID: 617

© 2015-2025 Web админ
Связаться по WhatsApp