Jump to content
Sign in to follow this  
Halonest

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

Recommended Posts

версия OpenCart 3.0.2.0

 

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

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

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

 

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

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

 

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

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
47 минут назад, AlexDW сказал:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
3 минуты назад, AlexDW сказал:

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

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

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

Share this post


Link to post
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 нет такого, казалось бы, весьма востребованного механизма, как продажа кратно упаковке.

Share this post


Link to post
Share on other sites
45 минут назад, Halonest сказал:

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

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

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

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

Share this post


Link to post
Share on other sites
19 минут назад, anboza сказал:

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

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

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

 

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

Share this post


Link to post
Share on other sites
25 минут назад, Pavel666 сказал:

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

да, только у разных товаров, может быть разное "минимальное".

Share this post


Link to post
Share on other sites
15 минут назад, anboza сказал:

да, только у разных товаров, может быть разное "минимальное".

так и оно ведь и передается в массиве

Share this post


Link to post
Share on other sites

 

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

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

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

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

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

Share this post


Link to post
Share on other sites
1 час назад, Halonest сказал:

не будет расцениваться как нарушение правил форума?

если не варез, то не будет

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.