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


Отправка Товара В Корзину


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

#21 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 15 Октябрь 2013 - 02:13

Найдите в файле main.js код

// Добавление товара в корзину через ajax
  $('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){
  
		$(this).nyroModalManual({
		  formIndicator: 'ajax_q',  // Value added when a form is sent
		  minWidth: 450, // Minimum width
		  minHeight: 140, // Minimum height
		  gallery: null // Gallery name if provided
		});
		return false;
  });

и замените его на

// Добавление товара в корзину через ajax
  $('.goodsDataForm:not(.ajaxForm), .goodsToCartFromCompareForm, .goodsListForm').submit(function(){
  
		$(this).nyroModalManual({
		  formIndicator: 'ajax_q',  // Value added when a form is sent
		  minWidth: 450, // Minimum width
		  minHeight: 140, // Minimum height
		  gallery: null // Gallery name if provided
		});
		return false;
  });


#22 sVs

sVs

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

  • Пользователи
  • PipPipPipPip
  • 232 сообщений
  • ГородМосква

Отправлено 16 Октябрь 2013 - 18:31

Просмотр сообщенияСake (15 Октябрь 2013 - 02:13) писал:

Найдите в файле main.js код

// Добавление товара в корзину через ajax
$('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){

	 $(this).nyroModalManual({
		 formIndicator: 'ajax_q', // Value added when a form is sent
		 minWidth: 450, // Minimum width
		 minHeight: 140, // Minimum height
		 gallery: null // Gallery name if provided
	 });
	 return false;
});

и замените его на

// Добавление товара в корзину через ajax
$('.goodsDataForm:not(.ajaxForm), .goodsToCartFromCompareForm, .goodsListForm').submit(function(){

	 $(this).nyroModalManual({
		 formIndicator: 'ajax_q', // Value added when a form is sent
		 minWidth: 450, // Minimum width
		 minHeight: 140, // Minimum height
		 gallery: null // Gallery name if provided
	 });
	 return false;
});

ничего не изменилось

#23 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 17 Октябрь 2013 - 05:24

По всей видимости код вставлен у вас в самый конец файла main.js в связи с этим он выполняется позже. В данном случае можно просто заменить

// Добавление товара в корзину через ajax
$('.goodsDataForm:not(.ajaxForm), .goodsToCartFromCompareForm, .goodsListForm').submit(function(){
		 $(this).nyroModalManual({
				 formIndicator: 'ajax_q', // Value added when a form is sent
				 minWidth: 450, // Minimum width
				 minHeight: 140, // Minimum height
				 gallery: null // Gallery name if provided
		 });
		 return false;
});

на

// Добавление товара в корзину через ajax
$('.goodsToCartFromCompareForm, .goodsListForm').submit(function(){
		 $(this).nyroModalManual({
				 formIndicator: 'ajax_q', // Value added when a form is sent
				 minWidth: 450, // Minimum width
				 minHeight: 140, // Minimum height
				 gallery: null // Gallery name if provided
		 });
		 return false;
});


#24 Remix

Remix

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

  • Пользователи
  • PipPip
  • 16 сообщений
  • ГородМосква

Отправлено 13 Ноябрь 2013 - 15:39

Уважаемые Гуру! Вы столько раз писали, какой код на какой нужно менять, потом возвращать назад, потом опять менять.. что я, как обычный юзвер, уже окончательно в этом запуталась.:) можете для шаблона Сияние представить окончательный вариант того, какой код конкретно необходимо на какой менять и куда вставлять, чтобы воплотить данный функционал?)
Мой магазин http://takehealth.ru/
Единственные изменения в шаблоне корзины делала - это те, что указаны в теме "Доработано Отображение Информации О Скидках".

#25 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 14 Ноябрь 2013 - 01:57

Вся инструкция для темы "Сияние" описана в сообщении http://forum.storela...ину/#entry93436 все инструкции после данного сообщения это или индивидуальные изменения под конкретный случай, или же изменения для других тем оформления. Вам необходимо выполнить инструкцию описанную в данном сообщении. Если код не будет работать или же будет работать не корректно - сообщите об этом не удаляя внесенных изменений.

#26 Remix

Remix

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

  • Пользователи
  • PipPip
  • 16 сообщений
  • ГородМосква

Отправлено 14 Ноябрь 2013 - 12:16

Спасибо за ответ. ок, будут проблемы - отпишусь.

#27 Coffee

Coffee

    Продвинутый пользователь

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

Отправлено 07 Март 2014 - 11:12

Как реализовать подобное для шаблона "осень"?

#28 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 08 Март 2014 - 00:26

Найдите в файле main.js следующий код

$(function(){
 
  var $container = $('.grid, .product-list3');
  var lastPage = 1;
  // Скрываем навигацию по умолчанию
  $('.pagination').hide();
  $container.infinitescroll({
	navSelector  : '.infinitescroll-pages',	// класс элемента постраничной навигации для бесконечного скрола
	nextSelector : '.infinitescroll-pages a',  // класс элемента постраничной навигации, ссылка на следующую страницу
	itemSelector : '.elem, .category-info',	 // класс элементов, которые будем извлекать
	loading: {
	  msgText: 'Пожалуйста подождите...',
	  finishedMsg: 'Больше нет товаров.',
	  img: zoomloaderPath ? zoomloaderPath : '/zoomloader.gif'
	}
	}, function(newElements) {
	  var $newElems = $( newElements ).css({ opacity: 0 });
	  $newElems.imagesLoaded(function(){
		$newElems.animate({ opacity: 1 });
		$container.masonry( 'appended', $newElems, true );
	  });
	  lastPage++;
	  // если это последняя страница, завершаем работу
	  if(lastPage >= (infiniteScrollLastPage ? infiniteScrollLastPage : 1) ){
		$container.infinitescroll('pause');
	  }
	}
  );
});

и замените его на

$(function(){
 
  var $container = $('.grid, .product-list3');
  var lastPage = 1;
  // Скрываем навигацию по умолчанию
  $('.pagination').hide();
  $container.infinitescroll({
	navSelector  : '.infinitescroll-pages',	// класс элемента постраничной навигации для бесконечного скрола
	nextSelector : '.infinitescroll-pages a',  // класс элемента постраничной навигации, ссылка на следующую страницу
	itemSelector : '.elem, .category-info',	 // класс элементов, которые будем извлекать
	loading: {
	  msgText: 'Пожалуйста подождите...',
	  finishedMsg: 'Больше нет товаров.',
	  img: zoomloaderPath ? zoomloaderPath : '/zoomloader.gif'
	}
	}, function(newElements) {
	  var $newElems = $( newElements ).css({ opacity: 0 });
	  $newElems.imagesLoaded(function(){
		$newElems.animate({ opacity: 1 });
		$container.masonry( 'appended', $newElems, true );
	  });
	  lastPage++;
	  // если это последняя страница, завершаем работу
	  if(lastPage >= (infiniteScrollLastPage ? infiniteScrollLastPage : 1) ){
		$container.infinitescroll('pause');
	  }
   $(window).trigger('ajaxform');
	}
  );
});

далее найдите и удалите код

// В форме оформления заказа при клике на кнопку назад просто переходим на предыдущую страницу
  $('.order form input:submit[name="toprev"]').click(function(){
	var act = this.form.action;
	this.form.action = act + ( act.indexOf( '\?' ) > -1 ? '&' : '?' ) + 'toprev=1';
	this.form.submit();
	return false;
  });
  // Добавление товара в корзину через ajax
  $('.goodsListItemCatalogueAddToCartButton, .goodsToCartFromCompareForm').submit(function(){
	// Если нужно быстро положить в корзину
	if($(this).attr('rel') == 'quick') {
	  return true;
   
	// Если нужно просто добавить в корзину и продолжить покупки
	} else {
	  $(this).nyroModalManual({
		formIndicator: 'ajax_q',  // Value added when a form is sent
		minWidth: 420, // Minimum width
		minHeight: 150, // Minimum height
		gallery: null // Gallery name if provided
	  });
	  return false;
	 }
  });

далее в самый конец файла вставьте

$(function() {
  $(window).on('ajaxform', function() {
	$('form.goodsDataForm, form.goodsToCartFromCompareForm, form.goodsListItemCatalogueAddToCartButton').each(function() {
	  $(this).addClass('ajaxForm');
	});
	$('#primary_block, .grid_view .elem, .list_view .elem').addClass('form-block-wrapper');
	$('#primary_block .image img, .product_image_wrapper img').addClass('product-img');
	$('.add_to_cart, .ajax_add_to_cart_button').removeAttr('onclick');
	$('.ajax_add_to_cart_button').on('click', function() {
	  $(this).closest('form').submit();
	  return(false);
	});
	$('form.ajaxForm').submit(function() {
				var formData = $(this).serializeArray();
				formData.push({name: 'ajax_q', value: 1});
				$.post($(this).attr('action'), formData, $.proxy(function(html) {
						$('#header_shopping_cart:first').html($('#newCartData').html());
						$('#cart_block_other_costs:first').html($('#newCartHoverData').html());
						var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper') : $(this);
						var product_img = (wrapper.find('.product-img').length ? wrapper.find('.product-img') : wrapper.find('.image 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: $('#header_shopping_cart').offset().left,
								top: $('#header_shopping_cart').offset().top
								}, 800, 'linear', function() {
								   $(this).remove();
								});
				}, this));
				return(false);
		});
  }).trigger('ajaxform');
});


#29 Coffee

Coffee

    Продвинутый пользователь

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

Отправлено 11 Март 2014 - 10:10

Просмотр сообщенияСake (08 Март 2014 - 00:26) писал:

Найдите в файле main.js следующий код
КЛАСС!!! Только корзина не обновляется после добавления товара :( приходится обновлять страницу. Можно реализовать обновление корзины?

#30 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 12 Март 2014 - 03:43

Необходимые изменения были внесены в ваш шаблон. Проверьте работу добавления товара в корзину.

#31 Coffee

Coffee

    Продвинутый пользователь

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

Отправлено 12 Март 2014 - 09:48

Просмотр сообщенияСake (12 Март 2014 - 03:43) писал:

Необходимые изменения были внесены в ваш шаблон. Проверьте работу добавления товара в корзину.
Большое спасибо, всё работает! :rolleyes:

#32 Ello4ka

Ello4ka

    Продвинутый пользователь

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

Отправлено 13 Март 2014 - 19:03

И для Весны напишите, пожалуйста.

#33 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 14 Март 2014 - 03:27

Для шаблона "Весна" - найдите в файле main.js код

$(function(){

var $container = $('.product-list, .product-list2');
var lastPage = 1;
// Скрываем навигацию по умолчанию
$('.pagination').hide();
$container.infinitescroll({
navSelector : '.infinitescroll-pages', // класс элемента постраничной навигации для бесконечного скрола
nextSelector : '.infinitescroll-pages a', // класс элемента постраничной навигации, ссылка на следующую страницу
itemSelector : '.prod_hold, .category-info',	 // класс элементов, которые будем извлекать
loading: {
	 msgText: 'Пожалуйста подождите...',
	 finishedMsg: 'Больше нет товаров.',
	 img: zoomloaderPath ? zoomloaderPath : '/zoomloader.gif'
}
}, function(newElements) {
	 var $newElems = $( newElements ).css({ opacity: 0 });
	 $newElems.imagesLoaded(function(){
	 $newElems.animate({ opacity: 1 });
	 $container.masonry( 'appended', $newElems, true );
	 });
	 lastPage++;
	 // если это последняя страница, завершаем работу
	 if(lastPage >= (infiniteScrollLastPage ? infiniteScrollLastPage : 1) ){
	 $container.infinitescroll('pause');
	 }
}
);
});

и замените его на

$(function(){

var $container = $('.product-list, .product-list2');
var lastPage = 1;
// Скрываем навигацию по умолчанию
$('.pagination').hide();
$container.infinitescroll({
navSelector : '.infinitescroll-pages', // класс элемента постраничной навигации для бесконечного скрола
nextSelector : '.infinitescroll-pages a', // класс элемента постраничной навигации, ссылка на следующую страницу
itemSelector : '.prod_hold, .category-info',	 // класс элементов, которые будем извлекать
loading: {
	 msgText: 'Пожалуйста подождите...',
	 finishedMsg: 'Больше нет товаров.',
	 img: zoomloaderPath ? zoomloaderPath : '/zoomloader.gif'
}
}, function(newElements) {
	 var $newElems = $( newElements ).css({ opacity: 0 });
	 $newElems.imagesLoaded(function(){
	 $newElems.animate({ opacity: 1 });
	 $container.masonry( 'appended', $newElems, true );
	 });
	 lastPage++;
	 // если это последняя страница, завершаем работу
	 if(lastPage >= (infiniteScrollLastPage ? infiniteScrollLastPage : 1) ){
	 $container.infinitescroll('pause');
	 }
$(window).trigger('ajaxform');
}
);
});

далее найдите и удалите код

// Добавление товара в корзину через ajax
$('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){

$(this).nyroModalManual({
	 formIndicator: 'ajax_q', // Value added when a form is sent
	 minWidth: 450, // Minimum width
	 minHeight: 140, // Minimum height
	 gallery: null // Gallery name if provided
});
return false;
});

далее в самый конец файла вставьте

$(function() {
$(window).on('ajaxform', function() {
	 $('form.goodsDataForm, form.goodsToCartFromCompareForm, form.goodsListItemCatalogueAddToCartButton').each(function() {
		 $(this).addClass('ajaxForm');
	 });
	 $('.prod_hold, .category-info, .product-info, .prod_hold_recent').addClass('form-block-wrapper');
	 $('.prod_hold .image img, .category-info .image img, .product-info .image img, .prod_hold_recent .image img').addClass('product-img');
	 $('.add_to_cart_small, .button_cart_product').removeAttr('onclick');
	 $('.add_to_cart_small, .button_cart_product').on('click', function() {
		 $(this).closest('form').submit();
		 return(false);
	 });
	 $('form.ajaxForm').submit(function() {
		 var formData = $(this).serializeArray();
		 formData.push({name: 'ajax_q', value: 1});
		 $.post($(this).attr('action'), formData, $.proxy(function(html) {
$('.heading:first').html($(html).find('.newCartData .heading').html());
			 var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper') : $(this);
			 var product_img = (wrapper.find('.product-img').length ? wrapper.find('.product-img') : wrapper.find('.image 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: $('#cart .heading').offset().left,
				 top: $('#cart .heading').offset().top
			 }, 800, 'linear', function() {
				 $(this).remove();
			 });
		 }, this));
		 return(false);
	 });
}).trigger('ajaxform');
});

После в шаблоне "Ajax добавление товара в корзину" найдите

<p>
<button type="button" title="Перейти в корзину" class="button button_cart_product" onclick="document.location='{CART_URL}';return false;">Перейти в корзину</button>&nbsp;&nbsp;&nbsp;&nbsp;
<button type="button" title="Перейти в корзину" class="button button_cart_product nyroModalClose">Продолжить покупки</button>
</p>
<!-- Блок для обновления данных корзины. Не виден пользователю -->

и замените на

<p>
<button type="button" title="Перейти в корзину" class="button button_cart_product" onclick="document.location='{CART_URL}';return false;">Перейти в корзину</button>&nbsp;&nbsp;&nbsp;&nbsp;
<button type="button" title="Перейти в корзину" class="button button_cart_product nyroModalClose">Продолжить покупки</button>
</p>
<!-- Блок для обновления данных корзины. Не виден пользователю -->
<div style="display:none;" class="newCartData">
<div class="heading">
<h4>Корзина покупок</h4>
<a href="{CART_URL}" title="Перейти в корзину"><span class="cart_circle"></span><span id="cart-total">Покупок
	 {% IF cart_count_empty %}
	 <span class="red">0</span>
	 {% ELSE %}
	 {CART_COUNT_TOTAL}
	 {% ENDIF %}
	 - на сумму
	
	 {% IF cart_count_empty %}
	 <span>0</span> {CURRENCY_NAME}
	 {% ELSE %}
	 {% FOR cart_sum %}
		 {cart_sum.NOW | money_format}<br />
	 {% ENDFOR %}
	 {% ENDIF %}
	 </span>
</a>
</div>
<div class="content">
<div class="empty">Ваша корзина покупок пуста!</div>
</div>
</div>


#34 Ello4ka

Ello4ka

    Продвинутый пользователь

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

Отправлено 14 Март 2014 - 08:43

Благодарю! :mellow: Все хорошо, но при добавлении из просмотренных товаров  в корзину добавляет, но выдает ошибку и иконка товара в корзину не летит.
А еще обратила внимание после паузы летит еще одна иконка товара.  Можно подумать, что еще 1 добавляется в корзину.

#35 sengun

sengun

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

  • Модератоpы
  • 1 139 сообщений
  • ГородНижний Новгород

Отправлено 14 Март 2014 - 19:43

Просмотр сообщенияEllo4ka (14 Март 2014 - 08:43) писал:

Благодарю! :mellow: Все хорошо, но при добавлении из просмотренных товаров  в корзину добавляет, но выдает ошибку и иконка товара в корзину не летит.
А еще обратила внимание после паузы летит еще одна иконка товара.  Можно подумать, что еще 1 добавляется в корзину.
Здравствуйте.
Инструкцию подправили и внесли изменения в вашем магазине, сейчас товары из просмотренных добавляются в корзину корректно.
Повторной анимации отправки товара в корзину не удалось уловить. Возможно, она возникает в каких-то определенных ситуациях?

#36 Ello4ka

Ello4ka

    Продвинутый пользователь

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

Отправлено 14 Март 2014 - 22:12

Просмотр сообщенияsengun (14 Март 2014 - 19:43) писал:

Здравствуйте.
Инструкцию подправили и внесли изменения в вашем магазине, сейчас товары из просмотренных добавляются в корзину корректно.
Повторной анимации отправки товара в корзину не удалось уловить. Возможно, она возникает в каких-то определенных ситуациях?
Теперь все хорошо, спасибо! Повторной нет. )

#37 leshareva

leshareva

    Новичок

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

Отправлено 23 Май 2014 - 08:02

Скажите как сделать летящую иконку товара на нашем сайте http://fotomelochi.ru/
Сейчас при нажатии на добавить в корзину перекидывает на страницу корзины. А хочется, чтобы оставались там же, как тут у ребят сделано: http://izhmarket.ru/catalog/106/3167/

#38 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 23 Май 2014 - 08:19

Просмотр сообщенияleshareva (23 Май 2014 - 08:02) писал:

Скажите как сделать летящую иконку товара на нашем сайте http://fotomelochi.ru/
Сейчас при нажатии на добавить в корзину перекидывает на страницу корзины. А хочется, чтобы оставались там же, как тут у ребят сделано: http://izhmarket.ru/catalog/106/3167/

Уточните, пожалуйста, какой шаблон Вы используете.

#39 leshareva

leshareva

    Новичок

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

Отправлено 23 Май 2014 - 08:57

Просмотр сообщенияMikDark (23 Май 2014 - 08:19) писал:

Уточните, пожалуйста, какой шаблон Вы используете.

Пластик

#40 Ирина345

Ирина345

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

  • Модераторы
  • 5 709 сообщений

Отправлено 23 Май 2014 - 16:12

Просмотр сообщенияleshareva (23 Май 2014 - 08:02) писал:

Скажите как сделать летящую иконку товара на нашем сайте http://fotomelochi.ru/
Сейчас при нажатии на добавить в корзину перекидывает на страницу корзины. А хочется, чтобы оставались там же, как тут у ребят сделано: http://izhmarket.ru/catalog/106/3167/
Здравствуйте по поводу корзины, прочитайте вот эту информацию
http://forum.storela...га/#entry139601




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

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