В компоненте bitrix:catalog.section можно добавить кастомную сортировку, когда не хватает двух стандартных сортировок.
Для этого добавляем в компоненту параметр CUSTOM_ELEMENT_SORT и передаем в нее массив вида:
$arOrder = array('sort' => 'asc', 'id' => 'desc', "prorepty_SORT" => 'desc');
Пример:
$arOrder = array();
if($arParams["ELEMENT_SORT_FIELD"] == 'PROPERTY_SORT_AV'){
$arOrder = array(
"sort" => 'desc',
$arParams["ELEMENT_SORT_FIELD"] => $arParams["ELEMENT_SORT_ORDER"],
$arParams["ELEMENT_SORT_FIELD2"] => $arParams["ELEMENT_SORT_ORDER2"]
);
}
$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"catalog",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"CUSTOM_ELEMENT_SORT" => $arOrder,
"ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"],
"ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"],
"ELEMENT_SORT_FIELD2" => $arParams["ELEMENT_SORT_FIELD2"],
"ELEMENT_SORT_ORDER2" => $arParams["ELEMENT_SORT_ORDER2"],
...
),
false
);
Теги: CUSTOM_ELEMENT_SORT, catalog.section