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

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

Просмотров: 673
Функция возвращает информацию по товарам в корзине с учетом всех примененных скидок и купонов
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;
}
#скидки_и_бонус

Ещё статьи:

01.12.2025 Задача алфавитный указатель товаров
Интересная задача для тренировки навыков.
Суть такая:
Алфавитный указатель товаров, но не стандартный где обычно сортировка разделов по названию происходит, а именно товаров.

01.12.2025 Junior разработчик PHP 2025
Периодически бывает вижу вакансии для джунов, и немного прозреваю от того что я вижу.
Обязанности джуна Junior разработчик PHP

29.11.2025 Обзор на маркетплейс модулей города по IP адресу
Неделю назад повёлся на предложение клиента пойти вариантом платного модуля для замены модуля выбора города, хотя изначально сказал, что там ловить нечего.
Итог тестов такой

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