Как в catalog.section.list сделать сортировку по «ELEMENT_SORT_FIELD» => «UF_SORT_F»?

в админке в разделах создал пользовательское поле UF_SORT_F тип строка, не могу понять ,почему не отрабатывает сортировка,что не правильно сделал или не доделал?

$sectionListParams = array(
  "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
  "IBLOCK_ID" => $arParams["IBLOCK_ID"],
  //"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
  "SECTION_ID" => $arParams["SECTION_ID_CUSTOM"],
  "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
  "CACHE_TYPE" => $arParams["CACHE_TYPE"],
  "CACHE_TIME" => $arParams["CACHE_TIME"],
  "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
  "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"],
  "TOP_DEPTH" => $arParams["SECTION_TOP_DEPTH"],
  "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
  "SECTION_FIELDS" => array("DETAIL_PICTURE",""),
  "SECTION_USER_FIELDS" => array('UF_SORT_F','UF_SORT',"UF_SHOW_FILTER_ZNAKI"),
  "VIEW_MODE" => $arParams["SECTIONS_VIEW_MODE"],
  "SHOW_PARENT_NAME" => $arParams["SECTIONS_SHOW_PARENT_NAME"],
  "HIDE_SECTION_NAME" => (isset($arParams["SECTIONS_HIDE_SECTION_NAME"]) ? $arParams["SECTIONS_HIDE_SECTION_NAME"] : "N"),
  "ADD_SECTIONS_CHAIN" => (isset($arParams["ADD_SECTIONS_CHAIN"]) ? $arParams["ADD_SECTIONS_CHAIN"] : ''),
   "ELEMENT_SORT_FIELD" => "UF_SORT_F"
);
if ($sectionListParams["COUNT_ELEMENTS"] === "Y")
{
  $sectionListParams["COUNT_ELEMENTS_FILTER"] = "CNT_ACTIVE";
  if ($arParams["HIDE_NOT_AVAILABLE"] == "Y")
  {
    $sectionListParams["COUNT_ELEMENTS_FILTER"] = "CNT_AVAILABLE";
  }
}

$APPLICATION->IncludeComponent(
  "bitrix:catalog.section.list",
  "dorozhnye-znaki",
  $sectionListParams,
  $component,
  array("HIDE_ICONS" => "Y")
);

Ответы (2 шт):

Автор решения: Denis

Поле ELEMENT_SORT_FIELD это для компонента bitrix:catalog.section, т.к. он показывает элементы, и сортирует, соответственно, элементы.

А компонент bitrix:catalog.section.list показывает разделы, и сортировка задается, если посмотреть код компонента, параметром CUSTOM_SECTION_SORT. Использовать так:

$sectionListParams = array(
  "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
  "IBLOCK_ID" => $arParams["IBLOCK_ID"],
  //"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
  "SECTION_ID" => $arParams["SECTION_ID_CUSTOM"],
  "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
  "CACHE_TYPE" => $arParams["CACHE_TYPE"],
  "CACHE_TIME" => $arParams["CACHE_TIME"],
  "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
  "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"],
  "TOP_DEPTH" => $arParams["SECTION_TOP_DEPTH"],
  "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
  "SECTION_FIELDS" => array("DETAIL_PICTURE",""),
  "SECTION_USER_FIELDS" => array('UF_SORT_F','UF_SORT',"UF_SHOW_FILTER_ZNAKI"),
  "VIEW_MODE" => $arParams["SECTIONS_VIEW_MODE"],
  "SHOW_PARENT_NAME" => $arParams["SECTIONS_SHOW_PARENT_NAME"],
  "HIDE_SECTION_NAME" => (isset($arParams["SECTIONS_HIDE_SECTION_NAME"]) ? $arParams["SECTIONS_HIDE_SECTION_NAME"] : "N"),
  "ADD_SECTIONS_CHAIN" => (isset($arParams["ADD_SECTIONS_CHAIN"]) ? $arParams["ADD_SECTIONS_CHAIN"] : ''),
  "CUSTOM_SECTION_SORT" => array("UF_SORT_F" => "ASC")
);
→ Ссылка
Автор решения: user521392

Работает только с версии модуля iblock 20.0.400

→ Ссылка