Перейти к содержимому


Уведомление О Добавлении Товара В Корзину


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 sever9999

sever9999

    Пользователь

  • Пользователи
  • PipPip
  • 45 сообщений

Отправлено 10 Февраль 2019 - 12:05

Добрый день!

Клиенты жалуются на уведомление о добавлении товара в корзину, можно сделать так, чтобы уведомление не выскакивало на весь экран после каждого добавления товара? (пример во вложении) после этого возникает необходимость нажимать кнопку "продолжить покупки"
Можно реализовать уведомление где-нибудь в сторонке с правой стороны и без необходимости не нажимать на кнопку "продолжить покупки"?

Прикрепленные изображения

  • Костюм BABYKIDS ELEMENT 3467 - Google Chrome.jpg


#2 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 12 Февраль 2019 - 07:23

Здравствуйте.

Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите и удалите:
// Добавление товара в корзину
function AddCart() {
  $('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function() {
	
	// Выносим функции из шаблонов
	if ($(this).attr('rel') === 'quick') {
	  quickOrder(this);
	  return (false);
	}
	
	$('.block.cart').addClass('have-items');
	$('.cart-count').animate({opacity: 0,display: "none"},500);
	$('.cart-count').animate({display: "inline",opacity: 1} , 500 );
	
	// Находим форму, которую отправляем на сервер, для добавления товара в корзину
	var formBlock = $($(this).get(0));
	var adresCart = '/cart';
	  // Проверка на существование формы отправки запроса на добавление товара в корзину
	  if (1 > formBlock.length || formBlock.get(0).tagName != 'FORM') {
		alert('Не удалось найти форму добавления товара в корзину');
		return false;
	  }
	  
	  // Получаем данные формы, которые будем отправлять на сервер
	  var formData = formBlock.serializeArray();
	  // Сообщаем серверу, что мы пришли через ajax запрос
	  formData.push({name: 'ajax_q', value: 1});
	  // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа
	  //formData.push({name: 'fast_order', value: 1});
	  // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
	  $.ajax({
		type: "POST",
		cache: false,
		url: formBlock.attr('action'),
		data: formData,
		success: function(data) {
		  $.fancybox({
			content: data,
			// При изменении размера окна изменяем размер окна оформления заказа
			onUpdate: function() {
			  return false;
			}
		  });
		  setTimeout(function() {
			$.fancybox.update();
		  }, 500);
		}
	  });
	return false;
  });
}

замените на:
// Добавление товара в корзину
function AddCart() {
  $('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function () {
	// Выносим функции из шаблонов
	if ($(this).attr('rel') === 'quick') {
	  quickOrder(this);
	  return (false);
	}
	$('.block.cart').addClass('have-items');
	$('.cart-count').animate({
	  opacity: 0,
	  display: 'none'
	}, 500);
	$('.cart-count').animate({
	  display: 'inline',
	  opacity: 1
	}, 500);
	// Находим форму, которую отправляем на сервер, для добавления товара в корзину
	var formBlock = $($(this).get(0));
	var adresCart = '/cart';
	// Проверка на существование формы отправки запроса на добавление товара в корзину
	if (1 > formBlock.length || formBlock.get(0).tagName != 'FORM') {
	  alert('Не удалось найти форму добавления товара в корзину');
	  return false;
	}	// Получаем данные формы, которые будем отправлять на сервер

	var formData = formBlock.serializeArray();
	// Сообщаем серверу, что мы пришли через ajax запрос
	formData.push({
	  name: 'ajax_q',
	  value: 1
	});
	// Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа
	//formData.push({name: 'fast_order', value: 1});
	// Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
	$.ajax({
	  type: 'POST',
	  cache: false,
	  url: formBlock.attr('action'),
	  data: formData
	});
	return false;
  });
}
$(function () {
  $(this).find('.product-view, .item .product-image').addClass('form-block-wrapper');
  $(this).find('.product-view .general-img img, .item .product-image img').addClass('product-img');
  $('.add-cart').click(function () {
	var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper')  : $(this);
	var product_img = wrapper.find('.product-img');
	var img = product_img.clone().appendTo($('body'));
	img.css({
	  position: 'absolute',
	  left: product_img.offset().left,
	  top: product_img.offset().top,
	  display: 'block',
	  zIndex: 999
	}).animate({
	  width: 0,
	  height: 0,
	  left: $('.block.cart').offset().left,
	  top: $('.block.cart').offset().top
	}, 800, 'linear', function () {
	  $(this).remove();
	});
  });
});


#3 sever9999

sever9999

    Пользователь

  • Пользователи
  • PipPip
  • 45 сообщений

Отправлено 13 Февраль 2019 - 21:17

Спасибо огромное, все получилось! Единственное, корзина не обновляется online, необходимо перезагрузить страницу или перейти на другую т.е. после добавления товара, цифра рядом с корзиной не изменяется и при наведении указателя мыши изменения тоже не видны. www.mybabyopt.ru


в мобильной версии при нажатии на кнопку "добавить в корзину" сразу перебрасывает в корзину(

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 19 Февраль 2019 - 02:24

Здравствуйте.

В измененном выше коде найдите:
		$.ajax({
		  type: 'POST',
		  cache: false,
		  url: formBlock.attr('action'),
		  data: formData
		});

замените на:
		$.ajax({
		  type: 'POST',
		  cache: false,
		  url: formBlock.attr('action'),
		  data: formData,
		  success: function(data) {
			$('body').append('<div id="ref" style="display:none;">' + data + '</div>');
			$('#ref').remove();
		  }
		});


#5 sever9999

sever9999

    Пользователь

  • Пользователи
  • PipPip
  • 45 сообщений

Отправлено 24 Февраль 2019 - 21:32

Спасибо!
Остался вопрос с мобильной версией, в ней при добавлении товара в корзину просто перебрасывает сразу в корзину без предложения продолжить покупки, вместо этого предлагает оформить заказ либо удалить.

#6 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 27 Февраль 2019 - 05:43

Здравствуйте.

Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите:
// Запуск основных функций для разных разрешений экрана
jQuery(document).ready(function($){
if(getClientWidth() > 750){
AddCart();
animated();
slideshow();
quickView();
}
if(getClientWidth() < 750){
$('#slideshow').css({'height': 'auto', 'width': 'auto'});
}
// Запуск функций при изменении экрана
$(window).resize(function(){
if(getClientWidth() > 750){
	 slideshow();
	 quickView();
}
if(getClientWidth() < 750){
	 $('#slideshow').css({'height': 'auto', 'width': 'auto'});
}
});
});

замените на:
// Запуск основных функций для разных разрешений экрана
jQuery(document).ready(function($){
if(getClientWidth() > 750){
AddCart();
animated();
slideshow();
quickView();
}
if(getClientWidth() < 750){
$('#slideshow').css({'height': 'auto', 'width': 'auto'});
AddCart();
}
// Запуск функций при изменении экрана
$(window).resize(function(){
if(getClientWidth() > 750){
	 slideshow();
	 quickView();
AddCart();
}
if(getClientWidth() < 750){
	 $('#slideshow').css({'height': 'auto', 'width': 'auto'});
AddCart();
}
});
});





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных