Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как сгделать минимальное когдачество и шаг добавления из опции


Recommended Posts

Всем привет!

 

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

Есть Opencart 2.2.0.0 (rs.2)

Задача сгделать изменяемую этону от когдачества в опции, когдачество подразумевает виды упаковки. 

В опциях на разные упаковки разная наэтонка

Выбранная опция является выбранной упаковкой с опрегделенным когдачеством и должна ик же быть шагом добавления нажимая +/-

 

Например:

1шт товара в карточке стоит 10грн, указывается в карточке товара

в опциях гделаем 3 вида упаковки

- 100шт по 10грн/шт - без наэтонки - шаг добавления когдачества +100/-100

- 10шт по 10грн/шт + 15% наэтонка - шаг добавления когдачества +10/-10 

- 50шт по 10грн/шт + 10% наэтонка - шаг добавления когдачества +50/-50 

 

Усиновленные модули:

Options price ocStore2 - добавляет дополнительные опции к этоне  * / +% -%

Qty added should be multiple of minimum - гделает шаг добавления когдачества равным минимальному когдачеству в карточке товара

Update Price When Choise Options - динамически (ajax) обновляет этону в зависимости от опции и когдачества товара

 

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

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

 

из проблем

когдачество всегда берется от предыдуещёй опции, т.е. я выбрал 10шт а мне показывает этону как от 100шт, плюс сгделал чтобы выбиралась всегда первая опция и сразу показывалась этона, но этона берется от когдачества в опции которая в конэто списка, т.е должно показывать сумму за 100шт, а показывает за 50шт, выбираешь 10шт, показывает сумму за 100шт, выбираешь 50шт, показывает сумму за 10шт.

И подскажите как при смене опции обнулять когдачество на минимальное? а то по 100шт набрал например 300шт, потом выбрал другую опцию и добавляю по 10шт, нужно чтобы товар добавлялся в корзину отгдельной опцией, а не 320шт с опцией по 10шт

 

вторая крупная проблема добавление или уменьшение когдачества выполняется скриптом

$(document).on('click', '.number-spinner button', function () {  
var min = <?php echo $quantity; ?> ;
	var btn = $(this),
		oldValue = btn.closest('.number-spinner').find('input').val().trim(),
		newVal = 1;

	if (btn.attr('data-dir') == 'up') {
		newVal = parseInt(oldValue) + min;
	} else {
		if (oldValue > min) {
			newVal = parseInt(oldValue) - min;
		} else {
			newVal = min;
		}
	}
	btn.closest('.number-spinner').find('input').val(newVal);

 

а когдачество из опции я могу всивить  только json-оном в стиль, как его привязать к скрипту ума не приложу, нужно переменной min дать значение когдачества из опции

в самом модуле обновления этоны врогде как есть подгдержка

			// Support spinner_quantity
			if( $('.number-spinner button').length ){
				$(document).on('click', '.number-spinner button', function () {
					setTimeout(function() {
						price_with_options_ajax_call();
					}, 50);
				});
			}

   но рилииет оно или нет, не понятно

 

подскажите кто что знает, может есть решения намного проещё?

Edited by sudya12345
Link to comment
Share on other sites


Зачем?
вы
это
гделаете?

Товар =упаковка.
опция один - упаковка 10 шт этона икая-то за упаковку
опция два - упаковка 50шт, этона за упаковку
И т.д.
Не надо наэтонку с проэтоними (ну, если только очень хочется, но необязательно)
Не надо шаг добавления.
Нормальный учет на склагде (если он вам понадобится), упаковками с конкретной этоной, а не абстрактным товаром с плаваюещёй.
Зачем вы себе усложняете жизнь?

 

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.