Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

баг seo pro и корзины , не обновляется корзина


Recommended Posts

Заметил такой баг:

добавляем товар в корзину, переходим в корзину, жмём на красный крестик удаления из корзины – товар по факту удаляется (если обновить страницу), но остаётся висеть на страничке, при том, что корзина, которая в шапке исправно работает.  
Обновление кол-ва товара (соседняя кнопка) исправно работает и обновляет страницу. 

 

 

кто сталкивался, есть решение?

Надіслати
Поділитися на інших сайтах


location.reload();

в скрипт после выполнения функции

 

можно подробней где именно, а то методом тыка я долго буду искать

Змінено користувачем rodigy
Надіслати
Поділитися на інших сайтах


обычно в common.js 

но зависит от реализации автором шаблона

автор я , скрипты не трогал только стили, можете сказать еще куда именно вставить правку, я с js не дружу

Надіслати
Поділитися на інших сайтах


С seo url такая же проблема?

Ищите участок где remove... success

seo url  та же беда, ток у меня default называется

 

 вставил  сюда, заработало

'remove': function(key) { ........... 

success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
					
				}
				location.reload();
			},
Змінено користувачем rodigy
  • +1 3
Надіслати
Поділитися на інших сайтах


 

seo url  та же беда, ток у меня default называется

 

 вставил  сюда, заработало

'remove': function(key) { ........... 

success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
					
				}
				location.reload();
			},

Работает. 

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Доброго времени суток, столкнулся с похожей проблемой, способ описаный выше, к сожалению, не помог.
 

сайт:   http://cibum.com.ua/       
Version 2.1.0.1

Змінено користувачем Sunburst
Надіслати
Поділитися на інших сайтах


  • 1 month later...

 

seo url  та же беда, ток у меня default называется

 

 вставил  сюда, заработало

'remove': function(key) { ........... 

success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
					
				}
				location.reload();
			},

Спасибо, работает.

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Можно еще изменить проверку

 

getURLVar на location.pathname

if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
location = 'index.php?route=checkout/cart';

поменять на это

if (location.pathname == '/cart/' || location.pathname == '/checkout/') {
location = 'index.php?route=checkout/cart';

так мини корзина в шапке чистится без перезагрузки страницы

Змінено користувачем Nemirov
Надіслати
Поділитися на інших сайтах


Можно еще изменить проверку

 

getURLVar на location.pathname

if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
location = 'index.php?route=checkout/cart';

поменять на это

if (location.pathname == '/cart/' || location.pathname == '/checkout/') {
location = 'index.php?route=checkout/cart';

так мини корзина в шапке чистится без перезагрузки страницы

 

 

лучше так тогда, универсально для родного чпу и про

if ((location.pathname == '/cart/' || getURLVar('route') == 'checkout/cart') || (location.pathname == '/checkout/' || getURLVar('route') == 'checkout/checkout')) {
location = 'index.php?route=checkout/cart';
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

 

seo url  та же беда, ток у меня default называется

 

 вставил  сюда, заработало

'remove': function(key) { ........... 

success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
					
				}
				location.reload();
			},

 

 У меня тоже заработало!

Змінено користувачем cergb
Надіслати
Поділитися на інших сайтах


А еще во это работает:

 

$.ajax({
url: 'index.php?route=checkout/cart/edit',
type: 'post',
data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
complete: function() {
$('#cart > button').button('reset');
},
success: function(json) {
// Need to set timeout otherwise it wont update the total
setTimeout(function () {
$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
}, 100);
 
if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
location = 'index.php?route=checkout/cart';
} else {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
},
       error: function(xhr, ajaxOptions, thrownError) {
           alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
       }
});
},
'remove': function(key) {
$.ajax({
url: 'index.php?route=checkout/cart/remove',
type: 'post',
data: 'key=' + key,
dataType: 'json',
beforeSend: function() {
$('#cart > button').button('loading');
},
complete: function() {
$('#cart > button').button('reset');
},
success: function(json) {
// Need to set timeout otherwise it wont update the total
setTimeout(function () {
$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
}, 100);
 
if (location.pathname == '/cart/' || location.pathname == '/checkout/') {
                    location = 'index.php?route=checkout/cart';
 
} else {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
},
       error: function(xhr, ajaxOptions, thrownError) {
           alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
       }
});
}
}
Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

Сегодня тоже заметил этот баг на Ocstore 2.1.0.2.1.

 

В результате поисков выяснил, что проблема актуальна только если выбран Тип ЧПУ: SeoPro. С Default корзина обновляется. Но с Default в путях висит "index.php?route=", что тоже не айс...

 

В итоге вышел на эту тему.

 

 

С seo url такая же проблема?

Ищите участок где remove... success

 

Таких мест у меня 2. Пробовал подставлять location.reload(); по примеру выше в оба места, но это ничего не дало...

Надіслати
Поділитися на інших сайтах


  • 1 month later...

проблема в самом окстор 2.1.0.2.1

на демо та же проблема....

т.е. это баг "из коробки"

тоже с ней столкнулся и location.reload(); не помогает

 

апд: в используемом мной шаблоне свой common.js - добавил туда строчку и все завелось.

Змінено користувачем Raensul
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
  • 1 year later...

У меня такая же проблема, только с подарочными сертификатами. Товары удаляются нормально, а вот сертификат не удаляется из корзины, хотя в миникорзине удаляется. Подскажите путь к файлу common.js, попробую изменить.

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.