Если вы используете комплексный компонент каталога bitrix.catalog, вам необходим в файл section.php шаблона до вызова catalog.section сделать сам блок с ссылками сортировки. Оформляете как хотите ul li например. В ссылках передаёте параметр sort_field и sort_order, обрабатываете их и устанавливаете в $arParams нужные значения.
Ниже этот $arParams будет влиять на компонент catalog.section, код примерно такой:
if($_REQUEST["sort_field"] && $_REQUEST["sort_order"]) {
$arParams["SORT_BY1"] = $sortFields[$_REQUEST["sort_field"]];
$arParams["SORT_ORDER1"] = $_REQUEST["sort_order"];
} else {
$arParams["SORT_BY1"] = "PROPERTY_NUMBER";
$arParams["SORT_ORDER1"] = "DESC";
}
//ниже вызов компонента
а чтобы параметры сохранялись в ссылках используйте функцию GetCurPageParam:
<a href="<?=$APPLICATION->GetCurPageParam("sort_field=".$_REQUEST["sort_field"]."&sort_order=".$_REQUEST["sort_order"]."", array("sort_field", "sort_order", "PAGEN_1"));?>" >Сортировка по цене</a>
в общем и целом как-то так. Работает безотказно.