Где возникла проблема: CS-Cart 4.12 возможно и ранние версии (4.10, 4.11)
Суть проблемы: *В функции fn_get_categories есть такой кусок кода
if (AREA == ‘C’) {
$_statuses = array(‘A’); // Show enabled products/categories
$condition .= fn_get_localizations_condition(’?:categories.localization’, true);
$condition .= " AND (" . fn_find_array_in_set($auth[‘usergroup_ids’], ‘?:categories.usergroup_ids’, true) . “)”;
$condition .= db_quote(" AND ?:categories.status IN (?a)", $_statuses);
}
if (!empty($params['status'])) {
$condition .= db_quote(" AND ?:categories.status IN (?a)", $params['status']);
}
Таким образом если в функцию передать параметр $params[‘status’] = array(‘A’,‘H’) то условие выборки списка категорий будет с условием
AND ?:categories.status IN ('A') AND ?:categories.status IN ('A', 'H')
Как бы должно быть что если параметр status
не передается то выбираем только активные категории иначе категории со статусами из массива параметра status
*