Почему не обновляется количество товара в sale.basket.basket.line?
Всем привет.
Достался мне сайт, на котром при добавлении товара в корзину sale.basket.basket.line меняет количество товара нормально. А вот при удалении не меняется. Товар удаляется с помощью метода CSaleBasket::Delete через ajax запрос. Не пойму где копать проблему.
Посмотри ajax, который добавляет в корзину, как там обновление sale.basket.basket.line происходит? Ну или скинь хотя бы код, а то CSaleBasket::Delete через ajax запрос вообще ни о чем не говорит
Юпитер Макс, ок
1. Тогда покажи определение того что такое js_top_basket
2. Попробуй как в добавлении, в success все закомментируй, а js_top_basket.refreshCart({}); перенеси в complete, ну это так временно посмотреть будет эффект или нет
Кстати, заметил вот что, через некоторое время. количество товара становится равным тому, сколько в корзине товаров. Получается, что где-то попадает в сессию или в куки результат добавления, правильно?
Юпитер Макс, отсюда из сессии берется значение, посмотри в нем меняется? $_SESSION['SALE_USER_BASKET_QUANTITY']
Должен быть массив вида [$siteId][$fuserId] = количество
Юпитер Макс, не особо понятно, почему при добавлении обновляется, я у себя проверяю при добавлении в сесии тоже не меняется. Вообщем в php, где удаление добавь после CSaleBasket::Delete
global $USER;
$fuserId = \Bitrix\Sale\Fuser::getIdByUserId($USER->GetID());
\Bitrix\Sale\BasketComponentHelper::updateFUserBasket($fuserId, $_POST['siteId']);
siteId надо в ajax добавить, в data: {'ajax_basket':'Y', 'id':id, 'action':'delete', 'siteId': js_top_basket.siteId}
PetrPo, нифига не помогло )) В итоге изменил параметр "SHOW_PRODUCTS" на "Y" и все заработало )) Разбираться не стал почему. Главное работает )) Спасибо за помощь!