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


Счетчик Кол-Ва Товара


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

#201 tuzzen

tuzzen

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

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

Отправлено 08 Август 2013 - 06:13

Спасибо большое!
Сделал изменения.

Если возможно, то тогда хотел бы внести как описывал выше в наименование трехзначное цифровое окончание

#202 Vaccina

Vaccina

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

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

Отправлено 09 Август 2013 - 04:38

Необходимо изменить порядок функций. Найдите в main.js

// добавления начало
function addone(obj, i) {
				var input = $(obj).closest('.numeric_input').find('.text_q');
				var j = i;
				if($('.charactir td.fnt12b').length) {
				   j = window['product_'
								 + $('.goodsDataMainModificationId').val()];
				}
				if($('.charactir-list td.fnt12b').length) {
				   j = window['product_'
								 + $(obj).closest('.goodsDataMainModificationId').attr('rel')];
				}
				if(j !== i) {
				   i = (i === -1 ? -j : j);
				}
				input.val(parseInt(input.val())+i);
				if(parseInt(input.val()) <= 0) {
				input.val(j);
}
}
$(function() {
  $('.numeric_input').each(function() {
		 var i = 1;
		 if($('.charactir td.fnt12b').length) {
		   i = window['product_' + $('.goodsDataMainModificationId').val()];
		 }
		 if($('.charactir-list td.fnt12b').length) {
		   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
		 }
		 $(this).find('.text_q').val(i);
  });
});
$(function() {
  if($('.charactir td.fnt12b').length) {
		$('.charactir td.fnt12b').each(function() {
		  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
				 window['product_'
				 + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
		  }
		});
  }
  if($('.charactir-list td.fnt12b').length) {
		$('.charactir-list td.fnt12b').each(function() {
		  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
				 window['product_'
				 + $(this).closest('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
		  }
		});
  }
});

и замените на

// добавления начало
function addone(obj, i) {
				var input = $(obj).closest('.numeric_input').find('.text_q');
				var j = i;
				if($('.charactir td.fnt12b').length) {
				   j = window['product_'
								 + $('.goodsDataMainModificationId').val()];
				}
				if($('.charactir-list td.fnt12b').length) {
				   j = window['product_'
								 + $(obj).closest('.goodsDataMainModificationId').attr('rel')];
				}
				if(j !== i) {
				   i = (i === -1 ? -j : j);
				}
				input.val(parseInt(input.val())+i);
				if(parseInt(input.val()) <= 0) {
				input.val(j);
}
}
$(function() {
  if($('.charactir td.fnt12b').length) {
		$('.charactir td.fnt12b').each(function() {
		  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
				 window['product_'
				 + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
		  }
		});
  }
  if($('.charactir-list td.fnt12b').length) {
		$('.charactir-list td.fnt12b').each(function() {
		  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
				 window['product_'
				 + $(this).closest('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
		  }
		});
  }
});
$(function() {
  setTimeout(function() {
	$('.numeric_input').each(function() {
		 var i = 1;
		 if($('.charactir td.fnt12b').length) {
		   i = window['product_' + $('.goodsDataMainModificationId').val()];
		 }
		 if($('.charactir-list td.fnt12b').length) {
		   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
		 }
		 $(this).find('.text_q').val(i);
	});
  }, 500);
});

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

Цитата

Если возможно, то тогда хотел бы внести как описывал выше в наименование трехзначное цифровое окончание

Вносите, только внесите это так, чтобы эти данные можно было бы идентифицировать, и не перепутать с другими данными. Например (40 шт.) или :40шт.: Соответственно если уп. нет, то подобной записи встречаться в названиях не должно.

#203 tuzzen

tuzzen

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

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

Отправлено 09 Август 2013 - 08:57

Vaccina,
ещё раз огромное спасибо!

Функции в main.js заменил - после этого потестировал.

Не всё работает:

1) на странице "Товары" пытаюсь изменить кол-во, не важно в большую сторону или меньшую, - вместо числа появляются буквы "NaN"


2а) когда после добавления товара в корзину перехожу в саму корзину - все количества по строкам пересчитываются на "1"

2б) так же в корзине, если уменьшать кол-во стрелочкой "вниз", то оно уменьшается до "-1", причем ноль пропускает. Если вносить вручную, то можно внести любое отрицательное число


3) выявил два товара, у которых количество не меняется кратно упаковки
http://plintus-opt.r.../Ideal-Obvod-12 - меняется кратно 1 (хотя кратность 25)
http://plintus-opt.r.../Ideal-Obvod-34 - меняется кратно 3 (хотя кратность 25)
может быть это из-за того что у меня есть две схожих характеристики "25 штук" и "25 пар" ?



А касательно кратности, чтобы  менять в корзине - предлагаю во всех товарах в концовке поля "Название товара" обязательно добавлять значение кратности упаковки - это четырехзначное число в квадратных скобках - например так:
было:  "Товар1"
            "Товар2"
стало: "Товар1 [0010]"
            "Товар2 [0050]"

вот такая головоломка :huh:
Соответственно, нужно, чтобы считывались 4 последних символа из наименования без учета квадратных скобок. То есть те символы, которые в квадратных скобках - число будет всегда четырех значное

#204 Сake

Сake

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

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

Отправлено 10 Август 2013 - 03:37

Цитата

2а) когда после добавления товара в корзину перехожу в саму корзину - все количества по строкам пересчитываются на "1"

2б) так же в корзине, если уменьшать кол-во стрелочкой "вниз", то оно уменьшается до "-1", причем ноль пропускает. Если вносить вручную, то можно внести любое отрицательное число

Для реализации задуманного в корзине - вам необходимо сначала выполнить

Цитата

А касательно кратности, чтобы менять в корзине - предлагаю во всех товарах в концовке поля "Название товара" обязательно добавлять значение кратности упаковки - это четырехзначное число в квадратных скобках - например так:
было: "Товар1"
"Товар2"
стало: "Товар1 [0010]"
"Товар2 [0050]"

вот такая головоломка
Соответственно, нужно, чтобы считывались 4 последних символа из наименования без учета квадратных скобок. То есть те символы, которые в квадратных скобках - число будет всегда четырех значное

Только поле этого можно будет сделать аналогичное изменения кол-во товара уп. для корзины. На данный момент для корзины это не используется. Как выполните изменение названия товара - сообщите нам, мы поможем вам реализовать задуманное уже окончательно.

По остальным вопросам - замените ваш код в main.js

// добавления начало
function addone(obj, i) {
								var input = $(obj).closest('.numeric_input').find('.text_q');
								var j = i;
								if($('.charactir td.fnt12b').length) {
								   j = window['product_'
																 + $('.goodsDataMainModificationId').val()];
								}
								if($('.charactir-list td.fnt12b').length) {
								   j = window['product_'
																 + $(obj).closest('.goodsDataMainModificationId').attr('rel')];
								}
								if(j !== i) {
								   i = (i === -1 ? -j : j);
								}
								input.val(parseInt(input.val())+i);
								if(parseInt(input.val()) <= 0) {
								input.val(j);
}
}
$(function() {
  if($('.charactir td.fnt12b').length) {
				$('.charactir td.fnt12b').each(function() {
				  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
								 window['product_'
								 + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
				  }
				});
  }
  if($('.charactir-list td.fnt12b').length) {
				$('.charactir-list td.fnt12b').each(function() {
				  if($.trim($(this).text()).indexOf('кол-во в упаковке') !== false) {
								 window['product_'
								 + $(this).closest('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
				  }
				});
  }
});
$(function() {
  setTimeout(function() {
		$('.numeric_input').each(function() {
				 var i = 1;
				 if($('.charactir td.fnt12b').length) {
				   i = window['product_' + $('.goodsDataMainModificationId').val()];
				 }
				 if($('.charactir-list td.fnt12b').length) {
				   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
				 }
				 $(this).find('.text_q').val(i);
		});
  }, 500);
});

на следующий

// добавления начало
function addone(obj, i) {
	var input = $(obj).closest('.numeric_input').find('.text_q');
	var j = i;
	if($('.charactir td.fnt12b').length) {
		j = window['product_' + $('.goodsDataMainModificationId').val()];
	}
	if($('.charactir-list td.fnt12b').length) {
		j = window['product_' + $(obj).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
	}
	if(j !== i) {
		i = (i === -1 ? -j : j);
	}
	input.val(parseInt(input.val())+i);
	if(parseInt(input.val()) <= 0) {
		input.val((j <= 0 ? 1 : j));
	}
}
$(function() {
	if($('.charactir td.fnt12b').length) {
		$('.charactir td.fnt12b').each(function() {
			if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
				window['product_' + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
			}
		});
  }
  if($('.charactir-list td.fnt12b').length) {
		$('.charactir-list td.fnt12b').each(function() {
			if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
				window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
				  }
		});
  }
});
$(function() {
  setTimeout(function() {
		$('.numeric_input').each(function() {
				 var i = 1;
				 if($('.charactir td.fnt12b').length) {
				   i = window['product_' + $('.goodsDataMainModificationId').val()];
				 }
				 if($('.charactir-list td.fnt12b').length) {
				   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
				 }
				 $(this).find('.text_q').val(i);
		});
  }, 500);
});


#205 tuzzen

tuzzen

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

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

Отправлено 11 Август 2013 - 21:33

Сake,
спасибо за подключение к решению моих проблем!

Итак,
- main.js я скорректировал по вашей подсказке.
- наименование товаров привел в вид "Товар1 [0010]", "Товар2 [0050]"

Осталось, чтобы в корзине работало изменение количеств.
А так же, сейчас остается возможность вручную вносить любое количество (и отрицательное и некратное) - как это закрыть?

Точнее сказать, не вообще закрыть поле для внесения кол-ва вручную, а сделать так, чтобы вносить можно было, но после внесения числа, оно округлялось в большую сторону - например:
если у нас "Товар1 [0050]":
     вносим "-12" - автоматически ставиться "50"
     вносим "0" - тоже "50"
     вносим "20" - ставит "50"
     вносим "51" - ставит "100"
  и так далее

Заранее спасибо!

#206 Vaccina

Vaccina

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

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

Отправлено 13 Август 2013 - 02:49

Найдите в вашем шаблоне "Корзина"

<tr class="order">

и замените на

<tr class="order goodsDataMainModificationId" rel="{cart_items.GOODS_MOD_ID}">

далее замените ваш код в main.js

// добавления начало
function addone(obj, i) {
		var input = $(obj).closest('.numeric_input').find('.text_q');
		var j = i;
		if($('.charactir td.fnt12b').length) {
				j = window['product_' + $('.goodsDataMainModificationId').val()];
		}
		if($('.charactir-list td.fnt12b').length) {
				j = window['product_' + $(obj).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
		}
		if(j !== i) {
				i = (i === -1 ? -j : j);
		}
		input.val(parseInt(input.val())+i);
		if(parseInt(input.val()) <= 0) {
				input.val((j <= 0 ? 1 : j));
		}
}
$(function() {
		if($('.charactir td.fnt12b').length) {
				$('.charactir td.fnt12b').each(function() {
						if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
								window['product_' + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
						}
				});
  }
  if($('.charactir-list td.fnt12b').length) {
				$('.charactir-list td.fnt12b').each(function() {
						if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
								window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
								  }
				});
  }
});
$(function() {
  setTimeout(function() {
				$('.numeric_input').each(function() {
								 var i = 1;
								 if($('.charactir td.fnt12b').length) {
								   i = window['product_' + $('.goodsDataMainModificationId').val()];
								 }
								 if($('.charactir-list td.fnt12b').length) {
								   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
								 }
								 $(this).find('.text_q').val(i);
				});
  }, 500);
});

на следующий код

// добавления начало
function addone(obj, i) {
		var input = $(obj).closest('.numeric_input').find('.text_q');
		var j = i;
		if($('.charactir td.fnt12b').length) {
				j = window['product_' + $('.goodsDataMainModificationId').val()];
		}
		if($('.charactir-list td.fnt12b').length) {
				j = window['product_' + $(obj).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
		}
  if($('.order .number').length) {
		  j = window['product_' + $(obj).closest('.goodsDataMainModificationId').attr('rel')];
  }
		if(j !== i) {
				i = (i === -1 ? -j : j);
		}
		input.val(parseInt(input.val())+i);
		if(parseInt(input.val()) <= 0) {
				input.val((j <= 0 ? 1 : j));
		}
}
$(function() {
		if($('.charactir td.fnt12b').length) {
				$('.charactir td.fnt12b').each(function() {
						if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
								window['product_' + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
						}
				});
  }
  if($('.charactir-list td.fnt12b').length) {
				$('.charactir-list td.fnt12b').each(function() {
						if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
								window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
								  }
				});
   
	if($('.order .number').length) {
			 $('.order .info .fnt12n').each(function() {
						var pack = /\[(\d+)\]/.exec($.trim($(this).text()));
						if($.isArray(pack) && pack[1]) {
						   window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')] = parseInt(pack[1]);
						}
				   });
		  }
  }
});
$(function() {
  setTimeout(function() {
				$('.numeric_input').each(function() {
								 var i = 1;
								 if($('.charactir td.fnt12b').length) {
								   i = window['product_' + $('.goodsDataMainModificationId').val()];
								 }
								 if($('.charactir-list td.fnt12b').length) {
								   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
								 }
		 if($('.order .number').length) {
		   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
		 }
								 $(this).find('.text_q').val(i);
				});
	$('.numeric_input').keyup(function() {
					 var i = 1;
								 if($('.charactir td.fnt12b').length) {
								   i = window['product_' + $('.goodsDataMainModificationId').val()];
								 }
								 if($('.charactir-list td.fnt12b').length) {
								   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
								 }
		 if($('.order .number').length) {
		   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
		 }
		 var current = parseInt($(this).find('.text_q').val());
		 if(current % i && current > i) {
			i = Math.round(current / i) * i;
			$(this).find('.text_q').val(i);
		 }
		 else {
									$(this).find('.text_q').val((current > i) ? current : i);
								 }
	});
  }, 500);
});


#207 tuzzen

tuzzen

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

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

Отправлено 13 Август 2013 - 07:59

Vaccina,
спасибо за помощь - всё сделал как написали, но в корзине теперь ошибка при регулировке количества... при любом изменении количества стрелочками получаем вместо цифр - NaN

#208 Vaccina

Vaccina

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

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

Отправлено 14 Август 2013 - 01:52

Небольшая опечатка в коде выше. Используйте вместо него следующий код

// добавления начало
function addone(obj, i) {
				var input = $(obj).closest('.numeric_input').find('.text_q');
				var j = i;
				if($('.charactir td.fnt12b').length) {
								j = window['product_' + $('.goodsDataMainModificationId').val()];
				}
				if($('.charactir-list td.fnt12b').length) {
								j = window['product_' + $(obj).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
				}
  if($('.order .number').length) {
				  j = window['product_' + $(obj).closest('.goodsDataMainModificationId').attr('rel')];
  }
				if(j !== i) {
								i = (i === -1 ? -j : j);
				}
				input.val(parseInt(input.val())+i);
				if(parseInt(input.val()) <= 0) {
								input.val((j <= 0 ? 1 : j));
				}
}
$(function() {
				if($('.charactir td.fnt12b').length) {
								$('.charactir td.fnt12b').each(function() {
												if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
																window['product_' + $('.goodsDataMainModificationId').val()] = parseInt($(this).next().text());
												}
								});
  }
  if($('.charactir-list td.fnt12b').length) {
								$('.charactir-list td.fnt12b').each(function() {
												if($.trim($(this).text()).indexOf('кол-во в упаковке') !== -1) {
																window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')] = parseInt($(this).next().text());
																  }
								});
	   
   }
		if($('.order .number').length) {
						 $('.order .info .fnt12n').each(function() {
												var pack = /\[(\d+)\]/.exec($.trim($(this).text()));
												if($.isArray(pack) && pack[1]) {
												   window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')] = parseInt(pack[1]);
												}
								   });
				  }
 
});
$(function() {
  setTimeout(function() {
								$('.numeric_input').each(function() {
																 var i = 1;
																 if($('.charactir td.fnt12b').length) {
																   i = window['product_' + $('.goodsDataMainModificationId').val()];
																 }
																 if($('.charactir-list td.fnt12b').length) {
																   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
																 }
				 if($('.order .number').length) {
				   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
				 }
																 $(this).find('.text_q').val(i);
								});
		$('.numeric_input').keyup(function() {
										 var i = 1;
																 if($('.charactir td.fnt12b').length) {
																   i = window['product_' + $('.goodsDataMainModificationId').val()];
																 }
																 if($('.charactir-list td.fnt12b').length) {
																   i = window['product_' + $(this).closest('.ulproduct').find('.goodsDataMainModificationId').attr('rel')];
																 }
				 if($('.order .number').length) {
				   i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
				 }
				 var current = parseInt($(this).find('.text_q').val());
				 if(current % i && current > i) {
						i = Math.round(current / i) * i;
						$(this).find('.text_q').val(i);
				 }
				 else {
																		$(this).find('.text_q').val((current > i) ? current : i);
																 }
		});
  }, 500);
});


#209 tuzzen

tuzzen

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

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

Отправлено 14 Август 2013 - 15:48

Vaccina,
да, действительно опечатка - корзина заработала! Огромное спасибо!

Сейчас ещё раз плотно протестировал все функции магазина "косяков" пости нет.
Единственная проблема, с которой пытался справиться но не смог - у меня на главной выводятся "Хиты продаж", "Новинки" и "Товар дня" - вот как я не пытался что-то исправить, так и не смог решить проблему, хотя всё прописано так же как, например, в "Товарах" - а количества не меняются кратно упаковкам.

А у "Хитов продаж"
кнопка "Купить" добавляет количество не в штуках, а просто цифру отдельную
1.jpg

а кнопка "Подробнее" не работает вообще
2.jpg

#210 Vaccina

Vaccina

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

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

Отправлено 15 Август 2013 - 02:07

Пожалуйста, приложите код вашего шаблона "HTML" в виде html файла, или вставив код в сообщение через тег CODE

#211 tuzzen

tuzzen

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

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

Отправлено 15 Август 2013 - 07:47

Файл HTML
Скрытый текст


#212 Vaccina

Vaccina

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

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

Отправлено 16 Август 2013 - 03:28

Попробуйте использовать следующий код шаблона
Скрытый текст


#213 tuzzen

tuzzen

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

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

Отправлено 16 Август 2013 - 13:20

Vaccina,
ещё раз спасибо! Теперь кратность в разделах "Хиты продаж", "Новинки" и "Товар дня" работает!
Но при добавлении товара из раздела "Хиты продаж" товар в корзину не попадает, а на выскакивающем окошке количество выводится в виде числа без "шт" и сумма равна нулю.
11.jpg
Просмотрел весь код - не смог найти ошибку! Помогите пожалуйста.


И ещё один важный момент - у меня в настройках проставлена минимальная сумма заказа и заказ меньшей суммы не оформляется, но это происходит уже в самом конце (после 4го этапа).

Цитата

Ошибка при оформлении заказа. Сумма минимального заказа составляет 1 000,00 рублей. Сумма текущего заказа меньше на 375,00 рублей
Считаю, что было бы правильно сразу же ограничивать оформление заказа, не набрав минимальную сумму.
То есть нужно чтобы в корзине, при НЕнаборе минимальной суммы выводилось такое сообщение
22.jpg
И оформление заказа не работало (+ выскакивало предупреждение, что "сумма заказа ниже минимальной! наберите товар")

#214 Сake

Сake

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

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

Отправлено 17 Август 2013 - 02:42

Цитата

добавлении товара из раздела "Хиты продаж" товар в корзину не попадает, а на выскакивающем окошке количество выводится в виде числа без "шт" и сумма равна нулю.

У вас немного не верно вставлен код данной кнопки, именно для блока "Хиты продаж". Найдите в коде блока "Хиты продаж" строки

goods.

и замените на

index_page_favorites_goods.

Цитата

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

Данный вопрос рассматривался в следующих темах форума
http://forum.storela...аза/#entry39777
http://forum.storela...аза/#entry33753
http://forum.storela...и-за/#entry4859
http://forum.storela...упки/#entry2417

#215 tuzzen

tuzzen

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

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

Отправлено 17 Август 2013 - 08:45

Сake,
спасибо за помощь - с "Хитами" разобрался!

Что касается минимальной суммы заказа, то благодаря ссылкам понял как ставить условия.
Сделал так, чтобы при сумме корзины менее минимальной - выводится красным шрифтом
"Минимальная сумма заказа составляет 5000,00 рублей.
  Вам необходимо ещё добавить товара на сумму не менее 4398,00 рублей."

Попозже сделаю, чтобы ещё при этом кнопка "Оформить заказ" была не активна!


Но, обнаружил, что в корзине, при пересчете, когда, например увеличиваешь сумму по строке, чтобы набрать минимальную сумму, сумма пересчитывается, но значение поле "кол-во" возвращается на минимум кратности упаковки.

Как сделать, чтобы в поле "кол-во" оставалась то значение, которое было установлено перед тем, как нажать кнопку "пересчитать" ?
Заранее спасибо за ответ!

#216 Vaccina

Vaccina

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

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

Отправлено 20 Август 2013 - 06:31

Найдите в main.js

if($('.order .number').length) {
	 i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
}
$(this).find('.text_q').val(i);

и замените на

if($('.order .number').length) {
	 i = window['product_' + $(this).closest('.goodsDataMainModificationId').attr('rel')];
}
var current = parseInt($(this).find('.text_q').val());
$(this).find('.text_q').val((current > i && !(current % i)) ? current : i);


#217 tuzzen

tuzzen

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

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

Отправлено 20 Август 2013 - 23:01

Vaccina,
гранд-мерси!

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

#218 Stasi

Stasi

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

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

Отправлено 31 Август 2013 - 12:29

Добрый день.
Разбираюсь с счетчиком количества товара на странице Товар. Вроде все добавила и поле и стрелки, все работает, только не могу в одну строчку выстроить красиво, рядом со словом "Количество". Помогите.

#219 miyako

miyako

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

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

Отправлено 31 Август 2013 - 13:30

Просмотр сообщенияStasi (31 Август 2013 - 12:29) писал:

Добрый день.
Разбираюсь с счетчиком количества товара на странице Товар. Вроде все добавила и поле и стрелки, все работает, только не могу в одну строчку выстроить красиво, рядом со словом "Количество". Помогите.

Найдите код в main.css -
.goodsDataMainModificationQuantity {
font: italic 12px Verdana, Geneva, sans-serif;
margin-top: -20px;
margin-bottom: 14px;
width: 170px;
}
и замените на -
.goodsDataMainModificationQuantity {
font: italic 12px Verdana, Geneva, sans-serif;
margin-bottom: 14px;
width: 140px;
}

Далее найдите код -
.numeric_input {
margin: auto;
}
и замените на -
.numeric_input {
margin: auto;
width: 50px;
float: right;
margin-top: -20px !important;
}

Далее найдите код -
.numeric_input div {
float: 30px;
width: 20px;
margin-top: 1px;
}
и замените на -
.numeric_input div {
width: 20px;
margin-top: 1px;
float: right;
}


#220 Stasi

Stasi

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

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

Отправлено 31 Август 2013 - 14:23

Спасибо, получилось!
Ещё подскажите пожалуйста, как счетчик товара начать от 1? и возможно ли его ограничить кол-вом наличия?




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

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