Подскажите пожалуйста, как сделать ограничение на минимальный заказ (добавление в корзину) от 2-х штук товара на определенные категории.
Вам нужны от двух штук или кратные двум от двух?
1. 2, 3, 4...
2. 2, 4, 6...
В первом случае думаю нужно использовать java
Во втором случае, более простом, достаточно использовать коэфициенты (и не важно, коробки это или штуки).
Так можно получить значение единиц измерения:
PHP:
if( CModule::IncludeModule("catalog") ) { $res_measure = CCatalogMeasure::getList(); while($measure = $res_measure->Fetch()) { print_r($measure); } }
if( CModule::IncludeModule("catalog") ) {
$res_measure = CCatalogMeasure::getList();
while($measure = $res_measure->Fetch()) {
print_r($measure);
}
}
Метод получения записей коэффициентов:
PHP:
CCatalogMeasureRatio::getList (
$arOrder = array(),
$arFilter = array(),
$arGroupBy = false,
$arNavStartParams = false,
$arSelectFields = array()
);
Поля данных:
ID - ID коэффициента в базе
PRODUCT_ID - код товара или торгового предложения (ID элемента инфоблока)
RATIO – коэффициент единицы измерения
Метод для добавления коэффициентов единицы измерения:
PHP:
CCatalogMeasureRatio::add (
array arFields
);
arFields - Массив параметров:
PRODUCT_ID - код товара или торгового предложения (ID элемента инфоблока)
RATIO – коэффициент единицы измерения (0,01 0,1 0,5 1,0 и тп. )
Метод для обновления коэффициентов единицы измерения:
PHP:
CCatalogMeasureRatio::update(
int ID,
array arFields,
);
ID - ID коэффициента в базе
arFields - Массив параметров:
PRODUCT_ID - код товара или торгового предложения (ID элемента инфоблока)
RATIO – коэффициент единицы измерения
Ну а в базе все коэффициенты хранятся в таблице
b_catalog_measure_ratio
Если вы используете обмен с 1с, то почитайте доку
Для просмотра ссылки Войди или Зарегистрируйся
Статейка про единицы измерения в 1С — учет в штуках и упаковках
Для просмотра ссылки Войди или Зарегистрируйся
Многие не понимают сути единиц изменений и коэфициентов этих единиц, просто разберите данную тему по косточкам