С версии модуля iblock 20.0.400 в компоненте catalog.section.list стал доступен параметр CUSTOM_SECTION_SORT и он работает - сам проверил.
В версиях модуля ниже чем указано в ддокументации этот параметр работать не будет
Можешь в файле /bitrix/components/bitrix/catalog.section.list/component.php найти
//ORDER BY
$arSort = array(
"left_margin"=>"asc",
);
и заменить на то как в новой версии
//ORDER BY
$arSort = array();
if (!empty($this->arParams['CUSTOM_SECTION_SORT']) && is_array($this->arParams['CUSTOM_SECTION_SORT']))
{
foreach ($this->arParams['CUSTOM_SECTION_SORT'] as $field => $value)
{
if (!is_string($value))
{
continue;
}
$field = strtoupper($field);
if (isset($arSort[$field]))
{
continue;
}
if (!preg_match('/^(asc|desc|nulls)(,asc|,desc|,nulls)?$/i', $value))
{
continue;
}
$arSort[$field] = $value;
}
unset($field, $value);
}
if (empty($arSort))
{
$arSort = array(
"LEFT_MARGIN" => "ASC",
);
}
ну и к параметрам вызова компонента catalog.section.list добавить
$sectionListParams = array(
//.......
"CUSTOM_SECTION_SORT" => array("UF_SORT" => "ASC")
);
По красивому конечно надо в компонент каталога добавить параметр выбора сортировки и от него передавать в catalog.section.list