Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Кратность товара


Halonest
 Share

Recommended Posts

версия OpenCart 3.0.2.0

 

Избитая тема на форуме, но рабочего решения не встретил:

Имеются товары, которые продаются только кратно коробке, например 12 шт./кор.

Необходимо реализовать возможность добавления в корзину и оформления заказа на такие товары только кратно упаковке: 12, 24, 36, 48 и т.д.

 

Реализацию предполагаю с использованием минимального количества товара (встроенная функция), т.е., например, в админке добавить во вкладке "Данные" по товару рядом с минимальным кол-вом пунктик "Кратность минимальному количеству" Да/Нет.

Соответственно при установленном флажке "Да" выводить в карточке товара вместо "Минимальное количество для заказа: 12" фразу "Количество кратное упаковке: 12" и запрещать покупку, если установленное количество не кратно 12 (выводить предупреждение о том, что "Покупка товара <Название товара> возможна только кратно упаковке: 12 единиц".

 

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

 

В идеале, конечно, было бы хорошо для товаров, по которым установлена обязательная кратность сделать поле количества редактируемым только кнопками "+" / "-" сразу кратно заданному количеству.

Как можно такое реализовать?

Link to comment
Share on other sites


можно сразу создавать карточку товара не в виде 1шт, а в виде коробки с соответствующей ценой за коробку

 

либо использовать обязательные опции с вариантами нужных фасовок

Link to comment
Share on other sites

47 минут назад, AlexDW сказал:

либо использовать обязательные опции с вариантами нужных фасовок

речь немного о другом - он хочет, чтобы при нажатии в карточке и в корзине на +-, изменить можно было только кратно заданному шагу.

Link to comment
Share on other sites

3 минуты назад, AlexDW сказал:

если фасовка задана через опции - так и будет

просто будет считать не количество штук (12, 24 и тд), а сразу коробками (1х12, 2х12, ...)

кстати, или так )) я даже что-то не подумал. писал скрипты-допилы.

Link to comment
Share on other sites

11 часов назад, AlexDW сказал:

если фасовка задана через опции - так и будет

просто будет считать не количество штук (12, 24 и тд), а сразу коробками (1х12, 2х12, ...)

Если я Вас правильно понял, то выглядеть это будет примерно следующим образом:
Есть товар с ценой 100. Под него создается опция: Ящик 12 шт. (цена + 1100) и при выборе 1 шт. товара с этой опцией в корзину попадает 1 шт. товара за 1200.
Механизм вполне рабочий, хоть и не элегантный... спасибо.
 

12 часов назад, anboza сказал:

под 2.3 есть решение, под 3.0 адаптации нет. если адаптируете, скину

Спасибо, адаптировать едва ли смогу - поэтому ищу готовое решение в виде кода или расширения...

Вчера раскопал бесплатное расширение с офф. маркета OpenStore, которое, судя по описанию и скриншотам на странице расширения, делает то, что нужно:
Suppose you have a product with minimum quantity as 3. Then this extension will only allow quantity to be added in steps of 3. Like 3,6,9,12,15 etc.

Хотя +/- там не работает, а реализовано все через запрет на добавление в корзину или изменения в самой корзине с выдачей уведомлений о некратности товара.

Заявлена поддержка версии 3.0.2.0, но увы даже на чистой версии 3.0.2.0 не заработало. Уже написал автору.

 

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

Link to comment
Share on other sites


45 минут назад, Halonest сказал:

запрет на добавление в корзину

там с корзиной, самая сложность и есть. 

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

для карточки товара, там скрипт в 5 строк.

Link to comment
Share on other sites

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

там с корзиной, самая сложность и есть. 

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

для карточки товара, там скрипт в 5 строк.

 

Если есть кнопки +- то можно при минимальном количестве больше 1 блокировать инпут а на кнопки повесить добавление переменной "минимальное количество"

Link to comment
Share on other sites

 

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

там с корзиной, самая сложность и есть. 

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

для карточки товара, там скрипт в 5 строк.

В упомянутом мною Выше бесплатном расширении этот механизм реализован. Я пытался разобраться, как это сделать, но моих знаний по теме явно недостаточно.
Правила форума запрещают любое распространение платных и лицензионных модулей, но по поводу бесплатных ограничений не накладывается. Если я опубликую ссылку на бесплатное (!) расширение из маркета opencart, чтобы люди, которые разбираются в коде могли по аналогии создать нечто подобное для версии 3.0.2 - это не будет расцениваться как нарушение правил форума?

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.