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

обязательные опции у товара


Recommended Posts

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

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

43 минуты назад, AUSS сказал:

Есть переключатель - это одно значение

Есть флажок - на много опций

Может немного непонятно расписал, для примера:

 

image.png.1b1dc14edd5ea213d12288fb917021cb.png

И вот нужно чтоб хотя бы одно значение (тест1 либо тест2 либо тест3) было выбрано для заказа товара

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

7 минут назад, BAH0 сказал:

хотя бы одно значение (тест1 либо тест2 либо тест3) было выбрано для заказа товара

из коробки не получиться

как вариант,  пошаманить в коде проверки обязательных опций(при добавлении товара)

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

1 минуту назад, BAH0 сказал:

Никто подобным вопросом не задавался? :)

Вы не представляете сколько желаний у людей различных

 

С коробки не выйдет.  Нужно в скрипте отправки в корзину или в контроллере добавить условие типа

если есть у товара опции - то минимум одна опция

иначе вернули ошибку

 

 

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


1 час назад, AUSS сказал:

Вы не представляете сколько желаний у людей различных

 

С коробки не выйдет.  Нужно в скрипте отправки в корзину или в контроллере добавить условие типа

если есть у товара опции - то минимум одна опция

иначе вернули ошибку

 

 

Так Вы имели ввиду?

в файлах

\catalog\controller\api\cart.php

\catalog\controller\checkout\cart.php

 

меняем

 

			foreach ($product_options as $product_option) {
				if ($product_option['required'] && empty($option[$product_option['product_option_id']])) {
					$json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']);
				}
			}

на

			foreach ($product_options as $product_option) {
				if (count($option) == null) {
					$json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']);
				}
			}

 

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

3 часа назад, BAH0 сказал:

Вы имели ввиду?

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

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

23 минуты назад, fanatic сказал:

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

Что Вы имели ввиду?

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

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

1 час назад, BAH0 сказал:

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

забудьте, я протупил

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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