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


Анимация Добавления Товара В Корзину


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

#1 Stasya

Stasya

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

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

Отправлено 01 Сентябрь 2016 - 20:56

Анимация заключается в том, что когда кликаешь по кнопке В корзину, картинка товара "улетает" в сторону корзины.
Пока что, для того, чтобы это реализовать, Вам придется "пожертвовать" блоком Недавно просмотренных товаров. Я подумаю, как решить данную проблему и напишу Вам в этой ветке чуть позже.
Если его не убрать, то при добавлении из новинок, товаров на главной или хитов с главной страницы уже просмотренный товар, в корзину будут "улетать" 2 картинки.
В инструкции я убрала блок кода просмотренных товаров, поэтому этой ошибки у Вас на сайте не будет.

Чтобы реализовать анимацию Вам необходимо выполнить следующую инструкцию:

1) В файле 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;
});
и заменяем его на  
//Анимация добавления товара в корзину, добавление товара, обновление счетчика товаров в корзине
$(function() {
$('form.goodsDataForm, form.goodsToCartFromCompareForm, form.goodsListItemCatalogueAddToCartButton').each(function() {
$(this).addClass('ajaxForm');
});
$(this).find('.main_general, .contentText, .prod_hold').addClass('form-block-wrapper');
$(this).find('.main_general a > img, .contentText a > img, .prod_hold a > img').addClass('product-img');
$('form.ajaxForm').submit(function() {
var formData = $(this).serializeArray();
formData.push({name: 'ajax_q', value: 1});
$.post($(this).attr('action'), formData, $.proxy(function(html) {
$('#cart-total').html($(html).find('.newCartCount').html());
var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper') : $(this);
var product_img = $(wrapper.find('.product-img')[0]);
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: $('.shopping_cart_block').offset().left,
top: $('.shopping_cart_block').offset().top
}, 800, 'linear', function() {
$(this).remove();
wrapper.find('.goodsincart').show();
});
}, this));
return(false);
});
});

2) Переходим в шаблоны
Шаблон Товары
Находим строку
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" onclick="quickorder('.product-form-{goods.MIN_PRICE_NOW_ID}');return false;" title="В корзину">В корзину</a>
и заменяем ее на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').submit(); return false;" title="В корзину">В корзину</a>

Шаблон HTML
Товары на главной
Строку
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_goods.MIN_PRICE_NOW_ID}" onclick="quickorder('.product-form-{index_page_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
заменяем на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_goods.MIN_PRICE_NOW_ID}"onclick="$('.product-form-{index_page_goods.MIN_PRICE_NOW_ID}').submit(); return false;" title="В корзину">В корзину</a>

Новинки
Строку
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_new_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_new_goods.MIN_PRICE_NOW_ID}" onclick="quickorder('.product-form-{index_page_new_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
заменяем на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_new_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_new_goods.MIN_PRICE_NOW_ID}" onclick="$('.product-form-{index_page_goods.MIN_PRICE_NOW_ID}').submit(); return false;"title="Быстро оформить заказ">Быстрый заказ</a>

Хиты продаж
Строку
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_favorites_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_favorites_goods.MIN_PRICE_NOW_ID}" onclick="quickorder('.product-form-{index_page_favorites_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
заменяем на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={index_page_favorites_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={index_page_favorites_goods.MIN_PRICE_NOW_ID}" onclick="$('.product-form-{index_page_favorites_goods.MIN_PRICE_NOW_ID}').submit(); return false;" title="Быстро оформить заказ">Быстрый заказ</a>

Шаблон Товар
Строку  
<input type="button" value="Купить" id="button-cart" class="buy_button" onclick="quickorder('.goodsDataForm'); return false;" title="Положить &laquo;{GOODS_NAME}&raquo; в корзину"/>
заменяем на
<input type="submit" value="Купить" id="button-cart" class="buy_button" title="Положить &laquo;{GOODS_NAME}&raquo; в корзину"/>


Сопутствующий товар
Строку
<a class="buy_button" onclick="quickorder('.product-form-{related_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
заменяем на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={related_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={related_goods.MIN_PRICE_NOW_ID}" onclick="$('.product-form-{related_goods.MIN_PRICE_NOW_ID}').submit(); return false;" title="Быстро оформить заказ">В корзину</a>

С этим товаром смотрят
Строку
<a class="buy_button" onclick="quickorder('.product-form-{related_views_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
заменяем на
<a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={related_views_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={related_views_goods.MIN_PRICE_NOW_ID}" onclick="$('.product-form-{related_views_goods.MIN_PRICE_NOW_ID}').submit(); return false;" title="Быстро оформить заказ">В корзину</a>

Шаблон Ajax добавление товара в корзину
Блок
<strong class="newCartCount">
{% IF cart_count_empty %}
	 <span class="red">0</span> шт.
{% ELSE %}
	 {% FOR cart_count %}
	 {cart_count.COUNT}{cart_count.MEASURE_NAME}{% IFNOT cart_count.last %},{% ENDIF %}
	 {% ENDFOR %}
{% ENDIF %}
</strong>
заменяем на
<strong class="newCartCount">
{% IF cart_count_empty %}
	 <span class="red">0</span> шт.
{% ELSE %}
	 {% FOR cart_count %}
	 {cart_count.COUNT}
	 {% ENDFOR %}
{% ENDIF %}
</strong>

3) В шаблоне HTML найдите и удалите блок
<!-- Недавно просмотренные товары -->
		 {% IFNOT recently_viewed_goods_empty %}
		 <div class="infoBox infoBoxWhatsNew">
			 <div class="box-heading">Вы смотрели</div>
			 <div class="infoBoxContents jcarousel-wrapper">
			 <div id="product-recent">
				 <ul>
				 {% FOR recently_viewed_goods %}
				 <li>
					 <div class="product-recent">
					 <div class="product-image-wrapper goods-image-icon-square">
						 <a class="product_img" title="Перейти на страницу &laquo;{recently_viewed_goods.NAME}&raquo;" href="{recently_viewed_goods.URL}">
						 <img class="goods-image-icon" src="{% IF recently_viewed_goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-small.png?design=movement{% ELSE %}{recently_viewed_goods.IMAGE_SMALL}{% ENDIF %}" alt="{recently_viewed_goods.NAME}">
						 </a>
					 </div>
					 <div class="wrapper-hover">
						 <div class="product-name"><p title="Перейти на страницу &laquo;{recently_viewed_goods.NAME}&raquo;" onclick="javascript:document.location.href='{recently_viewed_goods.URL}'">{recently_viewed_goods.NAME}</p></div>
						 <div class="product-price">
						 <span class="new_price">{recently_viewed_goods.MIN_PRICE_NOW | money_format}</span>
						 {% IF recently_viewed_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>recently_viewed_goods.MIN_PRICE_NOW %}
							 <s class="old_price">{recently_viewed_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</s>
						 {% ELSEIF recently_viewed_goods.MIN_PRICE_OLD>recently_viewed_goods.MIN_PRICE_NOW %}
							 <s class="old_price">{recently_viewed_goods.MIN_PRICE_OLD | money_format}</s>
						 {% ENDIF %}					
						 </div>
						 <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-rec{recently_viewed_goods.MIN_PRICE_NOW_ID}">
						 <input type="hidden" name="hash" value="{HASH}" />
						 <input type="hidden" name="form[goods_from]" value="{recently_viewed_goods.GOODS_FROM}" />
						 <input type="hidden" name="form[goods_mod_id]" value="{recently_viewed_goods.MIN_PRICE_NOW_ID}" />
						 <a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={recently_viewed_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={recently_viewed_goods.MIN_PRICE_NOW_ID}" onclick="quickorder('.product-form-rec{recently_viewed_goods.MIN_PRICE_NOW_ID}');return false;" title="Быстро оформить заказ">Быстрый заказ</a>
						 <!--a class="buy_button" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;form%5Bgoods_from%5D={recently_viewed_goods.GOODS_FROM}&amp;form%5Bgoods_mod_id%5D={goodrecently_viewed_goodss.MIN_PRICE_NOW_ID}" onclick="$('.product-form-rec{recently_viewed_goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a-->
						 </form>
						 <!--a href="#" onclick="" class="wishlist"><i class="icon-heart"></i>Добавить в закладки</a>
						 <!-- Если в тарифном плане подключен модуль сравнения товаров --
						 {% IF TARIFF_FEATURE_GOODS_COMPARE %}
						 <!-- Если не выключен модуль сравнения товаров в настройках магазина --
						 {% IFNOT SETTINGS_COMPARE_DISABLE %}
							 {% IF recently_viewed_goods.IS_HAS_IN_COMPARE_LIST %}
							 <a class="goodsDataCompareButton delete compare" href="{COMPARE_DELETE_URL}?id={recently_viewed_goods.MIN_PRICE_NOW_ID}&amp;return_to={CURRENT_URL | urlencode}" title="Убрать &laquo;{GOODS_NAME}&raquo; из списка сравнения с другими товарами"><i class="icon-popup"></i>Убрать из сравнения</a>
							 {% ELSE %}
							 <a class="goodsDataCompareButton add compare" href="{COMPARE_ADD_URL}?id={recently_viewed_goods.MIN_PRICE_NOW_ID}&amp;from={recently_viewed_goods.GOODS_FROM}&amp;return_to={CURRENT_URL | urlencode}" title="Добавить &laquo;{GOODS_NAME}&raquo; к списку сравнения с другими товарами"><i class="icon-popup"></i>Добавить к сравнению</a>
							 {% ENDIF %}
						 {% ENDIF %}
						 {% ENDIF %}-->
					 </div>
					 </div>
				 </li>
				 {% ENDFOR %}
				 </ul>
			 </div>
			 <a href="#" class="jcarousel-control-prev"></a>
			 <a href="#" class="jcarousel-control-next"></a>
			 </div>
		 </div>
		 {% ENDIF %}
		 <!-- END Недавно просмотренные товары -->

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

  • улетает.jpg
  • улетает2.jpg


#2 bronko

bronko

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

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

Отправлено 02 Сентябрь 2016 - 22:31

Все сделал.
Возникли следующие проблемы:
1. При добавлении товара в корзину, если в ней не было до этого ни одного товара, счетчик на иконке корзины не появляется, будто в ней ничего нет. После обновления страницы счетчик появляется и указывает верное количество товара в корзине.
2. При добавлении товара в корзину, если там уже был товар, счетчик иногда ведет себя очень странно. добавляешь один товар, ок, счетчик прибавляет один, добавляешь другой товар - опять один, добавляешь третий товар - счетчик прибавил уже десяток. следующий товар - прибавил сотню. Т.е. на счетчике отображаются жуткие числа типа "513" и т.д. Если дальше добавляешь следующий товар, иногда опять прибавляет по одному к этому огромному числу, а потом опять по 10 или по 100 или любое другое число, например 120. После обновления страницы счетчик отображается правильно до следующего добавления в корзину. Потом опять начинается фигня, причем счетчик сразу же подскакивает до больших чисел, которые были до обновления страницы.
Изображение

3. выскакивающее при наведении на иконку корзины окошко не обновляется "на лету". Если проигнорировать ошибку под п.2. и допустить, что счетчик показывает верное количество товара, то при добавлении товара в корзину счетчик меняется, а выпадающее меню не меняется, будто в корзину ничего не добавили. Приходит в соответствие только после обновления страницы.
Изображение

4. Самая стремная ошибка. Когда мы находимся в корзине, то при попытке удалить какой-либо товар, выдает ошибку следующего вида:
Изображение
После обновления страницы с корзиной товар оказывается удаленным.

Пожалуйста, дайте оперативно инструкции, как исправить возникающие ошибки. Особо быстрого ответа прошу по п.4, чтобы не вводить в заблуждение клиентов.
Спасибо!

#3 Stasya

Stasya

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

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

Отправлено 05 Сентябрь 2016 - 12:37

Просмотр сообщенияbronko (02 Сентябрь 2016 - 22:31) писал:

Все сделал.
Возникли следующие проблемы:
1. При добавлении товара в корзину, если в ней не было до этого ни одного товара, счетчик на иконке корзины не появляется, будто в ней ничего нет. После обновления страницы счетчик появляется и указывает верное количество товара в корзине.
2. При добавлении товара в корзину, если там уже был товар, счетчик иногда ведет себя очень странно. добавляешь один товар, ок, счетчик прибавляет один, добавляешь другой товар - опять один, добавляешь третий товар - счетчик прибавил уже десяток. следующий товар - прибавил сотню. Т.е. на счетчике отображаются жуткие числа типа "513" и т.д. Если дальше добавляешь следующий товар, иногда опять прибавляет по одному к этому огромному числу, а потом опять по 10 или по 100 или любое другое число, например 120. После обновления страницы счетчик отображается правильно до следующего добавления в корзину. Потом опять начинается фигня, причем счетчик сразу же подскакивает до больших чисел, которые были до обновления страницы.
Изображение

3. выскакивающее при наведении на иконку корзины окошко не обновляется "на лету". Если проигнорировать ошибку под п.2. и допустить, что счетчик показывает верное количество товара, то при добавлении товара в корзину счетчик меняется, а выпадающее меню не меняется, будто в корзину ничего не добавили. Приходит в соответствие только после обновления страницы.
Изображение

4. Самая стремная ошибка. Когда мы находимся в корзине, то при попытке удалить какой-либо товар, выдает ошибку следующего вида:
Изображение
После обновления страницы с корзиной товар оказывается удаленным.

Пожалуйста, дайте оперативно инструкции, как исправить возникающие ошибки. Особо быстрого ответа прошу по п.4, чтобы не вводить в заблуждение клиентов.
Спасибо!

1) В шаблоне HTML найдите блок
{% IFNOT cart_count_empty %}
			 <span id="cart-total">
				 {CART_COUNT_TOTAL}
			 </span>
			 {% ENDIF %}
и замените его на
<span id="cart-total">
				 {% IFNOT cart_count_empty %}{CART_COUNT_TOTAL}{% ELSE %}0{% ENDIF %}
			 </span>

2) В шаблоне Ajax добавление товара в корзину найдите блок
<strong class="newCartCount">
{% IF cart_count_empty %}
		 <span class="red">0</span> шт.
{% ELSE %}
		 {% FOR cart_count %}
		 {cart_count.COUNT}
		 {% ENDFOR %}
{% ENDIF %}
</strong>
и замените его на
<strong class="newCartCount">
{% IF cart_count_empty %}
		 <span class="red">0</span> шт.
{% ELSE %}
		 {CART_COUNT_TOTAL}
{% ENDIF %}
</strong>

3) Простите, не учла что в данном шаблоне при наведении на корзину выводится список уже добавленных товаров. В файле main.js ранее присланный код
//Анимация добавления товара в корзину, добавление товара, обновление счетчика товаров в корзине
$(function() {
$('form.goodsDataForm, form.goodsToCartFromCompareForm, form.goodsListItemCatalogueAddToCartButton').each(function() {
$(this).addClass('ajaxForm');
});
$(this).find('.main_general, .contentText, .prod_hold').addClass('form-block-wrapper');
$(this).find('.main_general a > img, .contentText a > img, .prod_hold a > img').addClass('product-img');
$('form.ajaxForm').submit(function() {
var formData = $(this).serializeArray();
formData.push({name: 'ajax_q', value: 1});
$.post($(this).attr('action'), formData, $.proxy(function(html) {
$('#cart-total').html($(html).find('.newCartCount').html());
var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper') : $(this);
var product_img = $(wrapper.find('.product-img')[0]);
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: $('.shopping_cart_block').offset().left,
top: $('.shopping_cart_block').offset().top
}, 800, 'linear', function() {
$(this).remove();
wrapper.find('.goodsincart').show();
});
}, this));
return(false);
});
});
замените на
$(function() {
$('form.goodsDataForm, form.goodsToCartFromCompareForm, form.goodsListItemCatalogueAddToCartButton').each(function() {
$(this).addClass('ajaxForm');
});
$(this).find('.main_general, .contentText, .prod_hold').addClass('form-block-wrapper');
$(this).find('.main_general a > img, .contentText a > img, .prod_hold a > img').addClass('product-img');
$('form.ajaxForm').submit(function() {
var formData = $(this).serializeArray();
formData.push({name: 'ajax_q', value: 1});
$.post($(this).attr('action'), formData, $.proxy(function(html) {
								 $('#cart-total').html($(html).find('.newCartCount').html());
								 var wrapper = $(this).closest('.form-block-wrapper').length ? $(this).closest('.form-block-wrapper') : $(this);
								 var product_img = $(wrapper.find('.product-img')[0]);
								 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: $('.shopping_cart_block').offset().left,
																 top: $('.shopping_cart_block').offset().top
																 }, 800, 'linear', function() {
																		 $(this).remove();
																		 wrapper.find('.goodsincart').show();
																 });
																 $.get("/cart/?only_body=1",function(d){

																 if($(d).find('.shopping-cart-table tbody > tr.item').size()) {
																	 var item = $('<tbody>');
																	 $(d).find('.shopping-cart-table tbody > tr.item').each(function() {
																	 if($(this).find('.good_name').length) {
																		 var col = $('<td>').addClass('t_right v_align_top').append($(this).find('.input-text').val() + " x ");
																		 var name = $('<td>').addClass('v_align_top').append($(this).find('.good_name .cartFormTbodyHeader'));
																		 item.append(($('<tr class="item">').append(col).append(name)));
																	 }
																 });
																 $('#shopping_cart_mini .inner-wrapper .table_style').html(item);
																 }
});
}, this));
return(false);
});
});

Далее чтобы все было карсиво чуть-чуть подправим код в шаблоне Корзина. А именно найдите в нем блок
<a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader">
					 {cart_items.GOODS_NAME}
					 <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара -->
					 {% IFNOT cart_items.distinctive_properties_empty %}
					 <span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>
					 {% ENDIF %}
				 </a>
и замените его на
<a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader">
					 {cart_items.GOODS_NAME}</a>
					 <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара -->
					 {% IFNOT cart_items.distinctive_properties_empty %}
					 <span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>
					 {% ENDIF %}
				

4) Что касаемо этой ошибки, то она у Вас присутствовала и до выполнения данной инструкции. Она связана немного с другим функционалом.
Для того чтобы ее устранить Вам необходимо в файле main.js найти блок
//ajax удаление товара из корзины
function deleteCartItem (item_id) {
$.ajax({
	 cache : false,
	 url : '/cart/delete/' + $('#' + item_id).data('mod-id') + '',
	 success: function(newData) {
и замените  его на
//ajax удаление товара из корзины
function deleteCartItem (item_id) {
$.ajax({
	 cache : false,
	 url : '/cart/delete/' + $('#' + item_id).data('mod-id') + '',
	 success: function() {
	 $.get("/cart/?only_body=1", function(newData){
Чуть ниже найдите блок
$('#header .shopping_cart_block').html(nd.find('.shopping_cart_block').html());
	 },
	 error: function() {
и замените его на
$('#header .shopping_cart_block').html(nd.find('.shopping_cart_block').html());
	 })
	 },
	 error: function() {


#4 bronko

bronko

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

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

Отправлено 05 Сентябрь 2016 - 14:57

Спасибо, первые 2 вопроса решены.
Жду ответы по 3 и 4 вопросам!

#5 Stasya

Stasya

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

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

Отправлено 05 Сентябрь 2016 - 15:13

Просмотр сообщенияbronko (05 Сентябрь 2016 - 14:57) писал:

Спасибо, первые 2 вопроса решены.
Жду ответы по 3 и 4 вопросам!

Добавила код в сообщение выше.

#6 bronko

bronko

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

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

Отправлено 07 Сентябрь 2016 - 12:07

Здравствуйте.
По п. 4 вы писали:

Цитата

Чуть ниже найдите блок
$('#header .shopping_cart_block').html(nd.find('.shopping_cart_block').html());
		 },
		 error: function() {

В этом файле 2 таких блока.
при замене одного или обоих, при добавлении товара в корзину страницу перекидывает на корзину.

Какой именно блок заменить? И как сделать так, чтобы не перекидывало в корзину?


Еще поясните по п.3, а именно:

Цитата

Далее чтобы все было карсиво чуть-чуть подправим код в шаблоне Корзина. А именно найдите в нем блок
<a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader">
										 {cart_items.GOODS_NAME}
										 <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара -->
										 {% IFNOT cart_items.distinctive_properties_empty %}
										 <span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>
										 {% ENDIF %}
								 </a>
и замените его на
<a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader">
										 {cart_items.GOODS_NAME}</a>
										 <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара -->
										 {% IFNOT cart_items.distinctive_properties_empty %}
										 <span>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</span>
										 {% ENDIF %}


Эти блоки у вас одинаковы, только во втором в конце нет закрывающего тэга
</a>
. Его просто удалить?

#7 bronko

bronko

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

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

Отправлено 07 Сентябрь 2016 - 12:27

Совсем ерунда какая-то. После правки по вашим рекомендациям п.4 перестало отображаться всплывающее окошко при наведении на значок корзины. И при добавлении товара в корзину страницу перекидывает на корзину!!!
Исправил п.4 обратно - та же фигня. кэш чистил

#8 Stasya

Stasya

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

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

Отправлено 07 Сентябрь 2016 - 12:57

Просмотр сообщенияbronko (07 Сентябрь 2016 - 12:07) писал:

Здравствуйте.
По п. 4 вы писали:


В этом файле 2 таких блока.
при замене одного или обоих, при добавлении товара в корзину страницу перекидывает на корзину.

Какой именно блок заменить? И как сделать так, чтобы не перекидывало в корзину?


Еще поясните по п.4, а именно:



Эти блоки у вас одинаковы, только во втором в конце нет закрывающего тэга
</a>
. Его просто удалить?

Вы не внимательно прочитали инструкцию. Выше я писала что сначала надо найти и заменить код
//ajax удаление товара из корзины
function deleteCartItem (item_id) {
$.ajax({
		 cache : false,
		 url : '/cart/delete/' + $('#' + item_id).data('mod-id') + '',
		 success: function(newData) {
а чуть ниже его найти вот этот код
$('#header .shopping_cart_block').html(nd.find('.shopping_cart_block').html());
		 },
		 error: function() {
Второй код, о котором Вы говорите находится гораздо выше.
Необходимый код заменила. Все работает. Проверьте, пожалуйста, на Вашем сайте, предварительно почистив кэш Вашего браузера.

#9 bronko

bronko

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

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

Отправлено 07 Сентябрь 2016 - 14:02

Я все сделал по вашей инструкции.
Непонятно исправление, о котором я написал в посте №6 по п.3

Цитата

Эти блоки у вас одинаковы, только во втором в конце нет закрывающего тэга
</a>
. Его просто удалить?


#10 Stasya

Stasya

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

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

Отправлено 07 Сентябрь 2016 - 17:20

Просмотр сообщенияbronko (07 Сентябрь 2016 - 14:02) писал:

Я все сделал по вашей инструкции.
Непонятно исправление, о котором я написал в посте №6 по п.3
Блоки не одинаковы. Закрывающий тег </a> перенесен выше строками.

#11 bronko

bronko

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

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

Отправлено 07 Сентябрь 2016 - 21:25

Все исправления внес.
Странно, но сейчас при удалении товара из корзины опять выскакивает ошибка.
Причем, ошибка иногда НЕ появлялась и до внесения изменений. То есть, то нет.
Кэш чистил

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

Сообщение отредактировал bronko: 07 Сентябрь 2016 - 21:35


#12 Stasya

Stasya

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

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

Отправлено 09 Сентябрь 2016 - 09:47

Просмотр сообщенияbronko (07 Сентябрь 2016 - 21:25) писал:

Все исправления внес.
Странно, но сейчас при удалении товара из корзины опять выскакивает ошибка.
Причем, ошибка иногда НЕ появлялась и до внесения изменений. То есть, то нет.
Кэш чистил

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

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

#13 bronko

bronko

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

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

Отправлено 11 Сентябрь 2016 - 18:29

Пока все работает как надо.
Спасибо вам огромное!




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

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