02
Сен
2018

Битрикс: CSaleBasket::Update — почему модифицируется количество, а цена нет?

Создал файл-обработчик. Количество в корзине обновляется, а цена нет. Почему - непонятно.

<?
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
if(CModule::IncludeModule('sale')){
    $arBasketItems = array();
    $dbBasketItems = CSaleBasket::GetList(
        array(
            "NAME" => "ASC",
            "ID" => "ASC"
        ),
        array(
            "FUSER_ID" => CSaleBasket::GetBasketUserID(),
            "LID" => SITE_ID,
            "ORDER_ID" => "NULL",
            "PRODUCT_ID" => $_POST['id']
        ),
        false,
        false,
        array("ID", "PRODUCT_ID", "QUANTITY", "PRICE", "NAME")
    );
    while ($arItems = $dbBasketItems->Fetch()) {
        $arBasketItems[] = $arItems;
    }
}
$price = (int)$arBasketItems[0]['PRICE'];
$count = (int)$arBasketItems[0]['QUANTITY'];
if (CModule::IncludeModule("catalog"))
{
    if($_POST['type']=='min'){
        $arFields = array(
            "QUANTITY" => $count-1,
            "PRICE" => $price-1
        );
    }
    if($_POST['type']=='plus'){
        $arFields = array(
            "QUANTITY" => $count + 1,
            "PRICE" => $price+1
        );
    }
    $ID = CSaleBasket::Update($arBasketItems[0]['ID'], $arFields);
}
?>

Источник: https://ru.stackoverflow.com/questions/876395/%D0%91%D0%B8%D1%82%D1%80%D0%B8%D0%BA%D1%81-csalebasketupdate-%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D1%86%D0%B8%D1%80%D1%83%D0%B5%D1%82%D1%81%D1%8F-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%B0-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BD%D0%B5%D1%82

Тебе может это понравится...

Добавить комментарий