Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


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);
				});
			}

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

 

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

Змінено користувачем sudya12345
Надіслати
Поділитися на інших сайтах


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

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

 

Надіслати
Поділитися на інших сайтах


Мегакалькулятор в помощь

предварительно проконсультируйтесь вличку

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.