Перейти к содержанию
belop

[Решено?..] Автоматическое обновление количества товара в корзине

Рекомендуемые сообщения

Проблема: при отслеживании в метрике выяснилось, что многие люди не понимают как поставить другое значение количества товара в корзине.

 

Они меняют количество товара и не нажимают кнопку обновить.

 

Есть ли решение, которое автоматически подхватывает данное изменение количества товара в корзине?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Открываем catalog\view\theme\ваш_шаблон\template\checkout\cart.tpl

Ищем

<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>" size="1" />

меняем на 

<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>" size="1" oninput="updateCart('<?php echo $product['key']; ?>', $(this).val())" />

Ищем

<?php echo $content_bottom; ?></div>

после вставляем

<script type="text/javascript"><!--
function updateCart(key, quantity) {
 if (quantity != 0 && quantity != 'undefined') {
  $.ajax({
   type: 'post',
   data: 'quantity['+key+']='+quantity,
   url: 'index.php?route=checkout/cart',
   dataType: 'html',
   success: function(data) {
    $('.cart-info').load('index.php?route=module/cart .cart-info');
   }
  });
 }
}
//--></script>

Набросал на скорую руку, не тестировал. Если используются опции, могут возникнуть некоторые проблемы с обновлением цены.

Изменено пользователем serega-lomik
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Забросил в код. Вставляю новое количество в товар. После нажимаю таб он. Скрываются товары. После f5 страница обновляется с правильным количеством.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а так?

<script>
			$( ".назначенный_класс_поля" ).change(function() {
				jQuery('.класс_кнопкиобновления').focus().click();
				}
			});
</script>
Изменено пользователем Otvet

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вместо

$('.cart-info').load('index.php?route=module/cart .cart-info');

надо

$('.cart-info').load('index.php?route=checkout/cart .cart-info');
Изменено пользователем serega-lomik
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Последний код тоже в том же файле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так это надо заменить в том, что я написал в первый раз

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
serega-lomik работает!!!

Otvet не пробовал твой вариант не понял. Куда, что вставлять. 

 

СПАСИБО за быстрое решение вопроса!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел еще маленький недостаток. Справа в итого поменял на правильную сумму. А ниже в сумме и итого не меняет сразу теперь.

Изменено пользователем belop

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а у меня не заработало
сайт стоит OCSHOP.PRO Версия 1.5.6.4.1

когда применил решение serega-lomik
только обновление перестало делаться в всплывающей корзине. если на странице ввести то значение в всплывающей меняются, но главное что на странице не обновляется(

Изменено пользователем Zernycha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

изменил я на локалке на сайт не переносил. т.к не было хорошего результата

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.