Перейти к содержанию

Рекомендуемые сообщения

версия OpenCart 3.0.2.0

 

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

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

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

 

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

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

 

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
47 минут назад, AlexDW сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, AlexDW сказал:

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

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

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

Поделиться сообщением


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
45 минут назад, Halonest сказал:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, anboza сказал:

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
25 минут назад, Pavel666 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, anboza сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Halonest сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.