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

запрет на добавление в корзину товара больше чем в наличии


Xelen

Recommended Posts

Как реализовать, чтобы при наличии товара, например 3 шт., покупатель не мог добавить больше, а добавлялось только 3 штуки с сообщением, что На складе только 3 шт?

Есть модули может какие или дописать что в коде можно?

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

10 минут назад, anboza сказал:

в настройках товара, закладка "данные". устанавливаете "кол-во" и ниже "вычитать со склада" ->ДА

 

 

Это все указано.

Но опенкарт вычитает товар со склада только при совершении покупки.

А мне надо, чтобы при добавлении товара в корзину больше, чем есть на складе (например 3 шт. есть, а покупатель добавляет 5шт.), добавлялось только 3, с сообщением, что на складе только 3 единицы.

 

А сейчас добавляются все 5, висит предупреждение в корзине, что товар нет на складе в таком количестве, пользователь, конечно, предупреждение не видит, заполняет все поля чекаута, а купить ему не дает. Потом он жалуется, что у него ничего не получается.

 

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

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

не сталкивался, но мысль:

я бы сделал проверку с "в наличии" и при выборе кол-ва, просто отменял добавление в корзину, через js

или еще проще, не давал ввести значение больше, чем "есть в наличии"

 

если не решите, напишите в личку, я скрипт запилю

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

кому нужно.

пример для дефолтного шаблона. у кого есть "+-", дописать строчку для "+", по аналогии.

 

//product.tpl


//возле
<input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />
//добавляем:
<div id="messages" style="white-space:pre;"></div>


//далее сам скрипт:
<script type="text/javascript">


var input = document.querySelector('#input-quantity');

var messages = document.querySelector('#messages');
var a=<?php echo $stock; ?>;

input.addEventListener('input', function()
{

if (input.value <= a) {
 messages.textContent += 'Кол-во, которое вы выбрали: ' + input.value + '\n';
} else {
document.getElementById('input-quantity').value = a ;
messages.textContent += 'Не достаточно на складе.Максимально возможно: ' + input.value + '\n';
  
}
 
});



</script>

 

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

  • 2 years later...
В 26.05.2018 в 14:43, anboza сказал:

не сталкивался, но мысль:

я бы сделал проверку с "в наличии" и при выборе кол-ва, просто отменял добавление в корзину, через js

или еще проще, не давал ввести значение больше, чем "есть в наличии"

 

если не решите, напишите в личку, я скрипт запилю

 

А можете сделать такое решение в виде OCMOD'a для 3-й версии карта? Готов спасибо на кофе перевести

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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