Блог специалистов
14.05.2013

Не работает стандартная сортировка в стандартном магазине Битрикс

Кто-то может уже столкнулся с тем, что в стандартном каталоге интернет-магазина Битрикса не работает сортировка товаров.

Решение есть, нужно немного модифицировать код.

В шаблоне 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];

Теперь все должно работать


Количество показов: 5651




Возврат к списку