Копируем шаблон компонента sale.basket.basket в шаблон своего сайта и открываем файл mutator.php именно из него считываются и обновляются данные корзины с использованием AJAX
В самый вверх это файла вставляем этот код:
$dbBasketItems = CSaleBasket::GetList(
false,
array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL"),
false,
false,
array("ID","PRODUCT_ID","QUANTITY"));
while ($arItems=$dbBasketItems->Fetch())
{
$arItems=CSaleBasket::GetByID($arItems["ID"]);
$countItemsInCart+=$arItems['QUANTITY'];
}
Здесь, методом CSaleBasket::GetList мы получили количество товаров (повторяюсь, не позиций а именно общее число товаров) в корзине текущего пользователя и передали в переменную $countItemsInCart.
Далее, находим секцию которая формирует данные для вывода в шаблон (формирование массива $totalData) и добавляем в него новый элемент ‘COUNT_ITEMS’ => $countItemsInCart
В файле js-templates/basket-total.php выводим количество: {{COUNT_ITEMS}} шт.