Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как исправить отображение количества товара в корзине?

00 голосов
5
Показывает только количество наименований, т.е. если в корзине один 20 товаров одного наименования, то краткая корзина показывает один товар в корзине?
спросил 16 Дек, 13 от XuwHuK (180 баллов)

5 Ответы

00 голосов
да
ответил 25 Фев, 14 от NitroGeN (2,840 баллов)
00 голосов
Цитата
Евгений Малков пишет:
да
что да?
ответил 16 Июнь, 14 от XuwHuK (180 баллов)
00 голосов
Цитата
что да?
ответ на ваш вопрос
Цитата
если в корзине один 20 товаров одного наименования, то краткая корзина показывает один товар в корзине
Если вам нужно общее количество товара в корзине, кастомизируйте компонент.
Смотрите CSaleBasket::GetList http://dev.1c-bitrix.ru/api_help/sale/classes/csalebasket/csalebasket__getlist.4d82547a.php
Пройдите по циклу и спюсуйте "QUANTITY"
ответил 15 Окт, 14 от NitroGeN (2,840 баллов)
00 голосов
Цитата
Евгений Малков пишет:
Если вам нужно общее количество товара в корзине, кастомизируйте компонент.
именно общее количество, только может достаточно где то галку поставить показывать то то или показывать то то.

спасибо за ответ.

Если на  примере кода который есть по этой ссылке, то как он станет выглядеть чтоб по нему пройти и сплюсовать в цикле quanity


Код
 <?
// Выведем актуальную корзину для текущего пользователя

$arBasketItems = array();

$dbBasketItems = CSaleBasket::GetList(
        array(
                "NAME" => "ASC",
                "ID" => "ASC"
            ),
        array(
                "FUSER_ID" => CSaleBasket::GetBasketUserID(),
                "LID" => SITE_ID,
                "ORDER_ID" => "NULL"
            ),
        false,
        false,
        array("ID", "CALLBACK_FUNC", "MODULE", 
              "PRODUCT_ID", "QUANTITY", "DELAY", 
              "CAN_BUY", "PRICE", "WEIGHT")
    );
while ($arItems = $dbBasketItems->Fetch())
{
    if (strlen($arItems["CALLBACK_FUNC"]) > 0)
    {
        CSaleBasket::UpdatePrice($arItems["ID"], 
 X $arItems["CALLBACK_FUNC"], 
 X $arItems["MODULE"], 
 X $arItems["PRODUCT_ID"], 
 X $arItems["QUANTITY"]);
        $arItems = CSaleBasket::GetByID($arItems["ID"]);
    }

    $arBasketItems[] = $arItems;
}

// Печатаем массив, содержащий актуальную на текущий момент корзину
echo "<pre>";
print_r($arBasketItems);
echo "</pre>";
?>
ответил 15 Фев, 15 от XuwHuK (180 баллов)
00 голосов
Код
$dbBasketItems = CSaleBasket::GetList(
        array(
                "NAME" => "ASC",
                "ID" => "ASC"
            ),
        array(
                "FUSER_ID" => CSaleBasket::GetBasketUserID(),
                "LID" => SITE_ID,
                "ORDER_ID" => "NULL"
            ),
        false,
        false,
        array("ID", "CALLBACK_FUNC", "MODULE", 
              "PRODUCT_ID", "QUANTITY", "DELAY", 
              "CAN_BUY", "PRICE", "WEIGHT")
    );
$sum=0;
while ($arItems = $dbBasketItems->Fetch())
{
    $sum+=$arItems["QUANTITY"]
}
echo $sum;
ответил 26 Май, 15 от NitroGeN (2,840 баллов)

Похожие вопросы

0 голосов
4 ответов
спросил 09 Июнь, 13 от Mageradje (660 баллов)
0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
3 ответов
спросил 09 Март, 14 от ROKKI (160 баллов)