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

[Решено] Кратность заказа..


vadike

Recommended Posts

Ребята можно как то реализовать кратность добавления товара в корзину.

 

Пример: 

У нас есть минимальный заказ 10.000

Следующий минимальный заказ должен быть кратен 500, тоесть заказ уже будет 10.500

 

ocStore 1.5.4.1

 

Можно такое сделать?

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

Можно сделать у корзины кнопки "+" и "-", повесить на них событие, и в функции-обработчике поставить шаг равный 500

но тут есть нюанс, что пользователь может вручную вписать туда что-то, не кратное 500, тогда надо делать проверку и округлять

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

Можно сделать у корзины кнопки "+" и "-", повесить на них событие, и в функции-обработчике поставить шаг равный 500

но тут есть нюанс, что пользователь может вручную вписать туда что-то, не кратное 500, тогда надо делать проверку и округлять

Сможете реализовать? 

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

в общем, во такое решение

 

ищите в шаблоне инпут с кол-вом товара

вот так он выглядит по дефолту:

<input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
дописываете к нему вот такое:

<span id="minus" class="quantity-operator">-</span>
<input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
<span id="plus" class="quantity-operator">+</span>
и в конец html пихаете такой JS код

 var counter = 500;
 var min = <?php echo $minimum; ?>;
 $('input[name="quantity"]').change(function () {
    
    var value = parseInt($(this).val());
    var val = value % counter;
    if (val) {
      value = value - val;
    }
    $(this).val(value);
    
    if (isNaN(parseInt($(this).val()))) {
      $(this).val(min);
    } else {
      if ($(this).val() < min) {
        $(this).val(min);  
      }
    }
 });

 $('.quantity-operator').click (function () {
    
    if ($(this).attr('id') == 'minus') {
      if (parseInt($('input[name="quantity"]').val()) > min) {
        $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) - counter);
      }      
    } else {
      $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) + counter);  
    }
 });
Надіслати
Поділитися на інших сайтах

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

  • 3 weeks later...
  • 7 months later...

в общем, во такое решение

 

ищите в шаблоне инпут с кол-вом товара

вот так он выглядит по дефолту:

<input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
дописываете к нему вот такое:

<span id="minus" class="quantity-operator">-</span>
<input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
<span id="plus" class="quantity-operator">+</span>
и в конец html пихаете такой JS код

 var counter = 500;
 var min = <?php echo $minimum; ?>;
 $('input[name="quantity"]').change(function () {
    
    var value = parseInt($(this).val());
    var val = value % counter;
    if (val) {
      value = value - val;
    }
    $(this).val(value);
    
    if (isNaN(parseInt($(this).val()))) {
      $(this).val(min);
    } else {
      if ($(this).val() < min) {
        $(this).val(min);  
      }
    }
 });

 $('.quantity-operator').click (function () {
    
    if ($(this).attr('id') == 'minus') {
      if (parseInt($('input[name="quantity"]').val()) > min) {
        $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) - counter);
      }      
    } else {
      $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) + counter);  
    }
 });

 

Хорошее дополнение вы написали, есть один небольшой вопрос: с дробным минимальным количеством для заказа не хочет работать.....
Например минимальное количество для заказа 2.5   и нажимаем +  и  у меня плюсуется только цифра перед запятой, то есть выдает после нажатия на + не 5, а 4.5
Я делал вот как описано здесь -  чтоб счетчик считал в качестве шага именно минимальное количество для заказа.
 
На пиво накину за беспокойство.
 
Спасибо
Надіслати
Поділитися на інших сайтах


  • 2 years later...

Доброго времени суток! А может кто подсказать есть ли модуль или решение для кратности заказа? Т.е. в карточке стоит цена за единицу товара, а купить можно только пачку или 2 - 3 пачки?

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


  • 5 months later...
  • 7 years later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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