14.05.2013
Количество показов: 9592
Не работает стандартная сортировка в стандартном магазине Битрикс
Кто-то может уже столкнулся с тем, что в стандартном каталоге интернет-магазина Битрикса не работает сортировка товаров.
Решение есть, нужно немного модифицировать код.
В шаблоне eshop сортировка задается в файле /bitrix/templates/eshop_blue/components/bitrix/catalog/.default/section.php в коде:
<? // Elements sort
$arAvailableSort = array(
"name" => Array("name", "asc"),
"price" => Array('PROPERTY_MINIMUM_PRICE', "asc"),
"date" => Array('PROPERTY_NEWPRODUCT', "desc"),
);
$sort = array_key_exists("sort", $_REQUEST) && array_key_exists(ToLower($_REQUEST["sort"]), $arAvailableSort) ? $arAvailableSort[ToLower($_REQUEST["sort"])][0] : "name";
$sort_order = array_key_exists("order", $_REQUEST) && in_array(ToLower($_REQUEST["order"]), Array("asc", "desc")) ? ToLower($_REQUEST["order"]) : $arAvailableSort[$sort][1];
Нужно переопределить переменные $sort и $sort_order следующим образом:
<? // Elements sort
$arAvailableSort = array(
"sort" => Array("sort", "desc"),
"name" => Array("name", "asc"),
"price" => Array('PROPERTY_MINIMUM_PRICE', "asc"),
"date" => Array('PROPERTY_NEWPRODUCT', "desc"),
);
$sort = array_key_exists("sort", $_REQUEST) && array_key_exists(ToLower($_REQUEST["sort"]), $arAvailableSort) ? $arAvailableSort[ToLower($_REQUEST["sort"])][0] : "sort";
$sort_order = array_key_exists("order", $_REQUEST) && in_array(ToLower($_REQUEST["order"]), Array("asc", "desc")) ? ToLower($_REQUEST["order"]) : $arAvailableSort[$sort][1];
Теперь все должно работать
Количество показов: 9592