По мотивам вопроса на форуме CS-Cart: Required Options Not Working Again — Nova Theme — CS-Cart v4.20.1

Рис. 1 — Обязательная опция "Memory capacity" (Select box) в восстановленном пустом состоянии "Please, select one", и обязательная опция "Choose a free game" с сообщением "поле обязательно для заполнения" после попытки добавить товар в корзину.
Реальная проверка обязательных опций
Модуль доступен на русском и английском языках.
С версии 4.16.2 в CS-Cart сломана валидация обязательных Select/Radio опций в режиме "Одновременно": первый вариант тихо предвыбирается сам, звёздочка "обязательно" висит для вида, а по факту заказ проходит с дефолтным значением и его наценкой — без единого клика покупателя. Клиент может даже не заметить, что что-то выбрал и заплатил за это.
Мы вернули реальную проверку — на витрине и на сервере — без правки файлов ядра.
Что делает модуль
- Убирает автовыбор. Обязательные Select/Radio показывают пустой пункт "Пожалуйста, выберите один"; при попытке оформить заказ без выбора — стандартная ошибка "поле обязательно для заполнения".
- Проверяет на сервере. Даже если запрос дойдёт до корзины в обход формы — например, через быстрое добавление в корзину со страницы категории, где формы опций вообще нет — товар без выбранной обязательной опции будет отклонён.
Необязательные опции остаются полностью в стороне: дефолты, предпросмотр цены, смена картинки при выборе работают точно так же, как до установки модуля.
Почему отдельный модуль, а не официальный обходной путь
Специалисты CS-Cart подтвердили эту регрессию на форуме в диапазоне версий 4.16.2–4.20.1 и предложили единственный обходной путь — закомментировать блок кода в fn.options.php ядра. Проблема в том, что этот же блок отвечает за подстановку разумного значения по умолчанию для всех остальных опций, а не только обязательных — поэтому его отключение ломает вещи, которые от него зависят: смену картинки при выборе, предпросмотр цены при загрузке страницы и работу быстрого добавления в корзину на страницах категорий.
Наш модуль воздействует только на опции, которые действительно обязательны, оставляя все необязательные опции без изменений. Мы также добавили жёсткую серверную проверку, которой для этих типов опций не было вообще никогда — ядро всегда проверяло "обязательность" только для опций типа "Файл" на этапе добавления в корзину.
Содержание
- Установка и первоначальная настройка
- Справочник по настройкам
- Проверка исправления на витрине
- Область применения и совместимость
- Известные ограничения
1. Установка и первоначальная настройка
Перейдите в Модули → Управление модулями → Установить модуль, загрузите архив модуля и активируйте его. У модуля нет отдельного экрана управления — сразу после активации исправление применяется ко всем товарам с обязательной опцией Select box или Radio group в режиме "Одновременно". Все настройки находятся на собственной вкладке Настройки модуля.

Рис. 2 — Модуль отображается как активный в разделе Модули → Управление модулями сразу после установки.
2. Справочник по настройкам
В таблице ниже перечислены все настройки на вкладке модуля.
| Настройка | Что делает |
|---|---|
| Применять жёсткую проверку к | Выбор области действия: только Select box и Radio group (по умолчанию, соответствует точной формулировке бага на форуме CS-Cart) или дополнительно включить обязательные опции типа Checkbox. |
| Логировать заблокированные попытки добавления в корзину | При включении каждый случай блокировки добавления в корзину из-за пропущенной обязательной опции записывается в журнал событий CS-Cart — удобно, чтобы заметить сломанную кастомизацию темы или бота, атакующего эндпоинт корзины. |


Рис. 3 — Вкладка настроек модуля с обеими опциями.

Рис. 4 — Вкладка "Настройки: Журнал событий" с настройкой логирования модуля.
3. Проверка исправления на витрине
После активации модуля откройте любой товар с обязательной опцией Select box или Radio group в режиме "Одновременно" и убедитесь, что:
- Опция показывает пустой пункт "Пожалуйста, выберите один" вместо предвыбранного варианта.
- Нажатие Добавить в корзину без реального выбора показывает сообщение "поле обязательно для заполнения" и не добавляет товар.
- Необязательные опции того же товара по-прежнему показывают привычный вариант по умолчанию и предпросмотр цены — без изменений.

Рис. 5 — Сравнение: страница товара до установки модуля (опция тихо предвыбрана) и после (пустой плейсхолдер, показано сообщение об обязательности).
Чтобы убедиться, что серверная блокировка также работает для иконки быстрого добавления в корзину на странице категории, попробуйте добавить товар с обязательной опцией прямо со страницы категории или списка, не открывая полную страницу товара — товар должен быть отклонён точно так же.

Рис. 6 — Уведомление об ошибке при использовании иконки быстрого добавления в корзину для товара с невыполненной обязательной опцией.
4. Область применения и совместимость
Модуль меняет поведение только для опций, у которых параметр Обязательная установлен в Да, и только для товаров, у которых Тип опций установлен в Одновременно. Опции в режиме Последовательно не затрагиваются, поскольку в этом режиме опции и так раскрываются постепенно по мере выбора покупателя, и этот сценарий не входил в исходное описание бага.
Проверено на CS-Cart от 4.16.0 до 4.20.1. Модуль использует только стандартные, документированные хуки CS-Cart и не изменяет ни одного файла ядра, поэтому ожидается, что он переживёт обновления ядра в этом диапазоне версий без переустановки. При обновлении выше 4.20.1 мы рекомендуем повторно проверить работу модуля и сообщить нам результат в любом случае — мы с готовностью расширим диапазон совместимости.
5. Известные ограничения
Модуль решает именно ту регрессию, что описана на форуме CS-Cart: обязательные опции Select box и Radio group в режиме "Одновременно". Обязательные опции типа Checkbox можно опционально включить на вкладке настроек, но поскольку группа чекбоксов может допускать несколько выборов, "обязательность" трактуется как "выбран хотя бы один вариант". Обязательные опции типа Файл не затрагиваем, поскольку CS-Cart уже корректно проверяет их самостоятельно.
- Store Builder
- Store Builder Plus
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- 4.21.1
- 4.20.1
- 4.19.1.SP2
- 4.19.1.SP1
- 4.19.1
- 4.18.4
- 4.18.3
- 4.18.2.SP1
- 4.18.2.
- 4.18.1.SP1
- 4.18.1
- 4.17.2.SP3
- 4.17.2.SP2
- 4.17.2.SP1
- 4.17.2
- 4.17.1
- 4.16.2
- 4.16.1
- English
- Русский
Мы занимаемся CS-Cart с 2014 года
Когда ежедневно работаешь с одной платформой много лет, начинаешь понимать не только её возможности, но и ограничения. Именно поэтому большинство задач мы можем оценить ещё до начала разработки и сразу предложить оптимальное решение.
С 2014 года мы создаём интернет-магазины, маркетплейсы и корпоративные решения на CS-Cart. В нашей команде работают сертифицированные специалисты CS-Cart, а уровень экспертизы подтверждён официальной сертификацией платформы. Мы выполняем разработку вплоть до уровня ядра CS-Cart, поэтому не ограничиваемся типовыми настройками и можем реализовать действительно сложную функциональность.
За плечами наших разработчиков участие в проектах СДЭК.Маркет, Big.ru и других крупных eCommerce-решениях. Этот опыт позволяет быстро принимать технические решения и избегать ошибок, которые обычно появляются только после нескольких лет практики.
Мы ценим время клиентов. Поэтому не затягиваем согласования, соблюдаем договорённости, спокойно воспринимаем обратную связь и всегда стараемся найти решение, которое принесёт максимальную пользу бизнесу, а не просто выполнить очередную задачу.
Кроме разработки и написания модулей для CS-Cart, мы предлагаем поддержку вашего интернет-магазина.
Даем гарантии, что ваш проект будет работать без сбоев - мы настроены на долгосрочное сотрудничество и взаимную выгоду.
Вас может заинтересовать
- Ускоряет работу сайта.
- Снижает нагрузку на сервер.
- Поднимает в поисковой выдаче.
Универсальный набор инструментов для проверки информационной безопасности вашего проекта с функциональностью усиления безопасности для CS-Cart и Multi-Vendor
Многофункциональный набор инструментов для оптимизации CS-Cart и Multi-Vendor с расширенными инструментами для повышения производительности и её автоматической проверки




