// Функция удаления товара (обновлена) function removeCartItem(cartId) { if (!confirm('Удалить товар из корзины?')) return; fetch('/api/remove-from-cart.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: 'cart_id=' + encodeURIComponent(cartId) }) .then(response => response.json()) .then(data => { if (data.success) { // Обновляем все данные корзины одним запросом updateCartData(); } else { alert(data.message || 'Ошибка при удалении'); } }) .catch(error => { console.error('Error removing item:', error); alert('Ошибка сети'); }); } // Инициализация при загрузке страницы document.addEventListener('DOMContentLoaded', function() { // Первичная загрузка данных updateCartData(); // При клике на иконку корзины обновляем данные (опционально) const cartInvoker = document.getElementById('basicDropdownHoverInvoker'); if (cartInvoker) { cartInvoker.addEventListener('click', function() { updateCartData(); // при открытии дропдауна всегда свежие данные }); } // Глобальное событие обновления (например, после добавления товара) document.addEventListener('cart-updated', function() { updateCartData(); }); }); // Удаление товара из корзины через AJAX function removeCartItem(cartId) { if (!confirm('Удалить товар из корзины?')) return; console.log('Removing cart item:', cartId); fetch('/api/remove-from-cart.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: 'cart_id=' + encodeURIComponent(cartId) }) .then(response => response.json()) .then(data => { console.log('Remove response:', data); if (data.success) { loadCartDropdown(); updateCartCount(); updateCartTotal(); } else { alert(data.message || 'Ошибка при удалении'); } }) .catch(error => { console.error('Error removing item:', error); alert('Ошибка сети'); }); } // Инициализация при загрузке страницы document.addEventListener('DOMContentLoaded', function() { // Обновляем количество и сумму updateCartCount(); updateCartTotal(); // Загружаем мини-корзину при открытии const cartInvoker = document.getElementById('basicDropdownHoverInvoker'); if (cartInvoker) { cartInvoker.addEventListener('click', function() { loadCartDropdown(); }); } // Обновляем корзину при добавлении товара (глобальное событие) document.addEventListener('cart-updated', function() { updateCartCount(); updateCartTotal(); // Если выпадающий список открыт, обновим его содержимое const dropdown = document.getElementById('basicDropdownHover'); if (dropdown && dropdown.classList.contains('show')) { loadCartDropdown(); } }); });

All Products

Показано 1521–1560 из 1759 товаров