Сортировка товаров по наименованию свойства

У товара есть свойство BRAND, присваивается из ИБ. Хочу сделать сортировку по названию брендов. Товары выводятся через bitrix:catalog.section

Делал вот так:

"ELEMENT_SORT_FIELD" => 'property_BRAND',

но сортирует товары не по названию бренда, а по его id

Если сделать var_dump тоовара, то связаное с брендом только это

["BRAND"]=>
array(34) {
  ["ID"]=>
  string(2) "47"
  ["IBLOCK_ID"]=>
  string(2) "14"
  ["NAME"]=>
  string(10) "Бренд"
  ["ACTIVE"]=>
  string(1) "Y"
  ["SORT"]=>
  string(3) "500"
  ["CODE"]=>
  string(5) "BRAND"
  ["DEFAULT_VALUE"]=>
  string(0) ""
  ["PROPERTY_TYPE"]=>
  string(1) "E"
  ["ROW_COUNT"]=>
  string(1) "1"
  ["COL_COUNT"]=>
  string(2) "30"
  ["LIST_TYPE"]=>
  string(1) "L"
  ["MULTIPLE"]=>
  string(1) "N"
  ["XML_ID"]=>
  string(4) "1143"
  ["FILE_TYPE"]=>
  string(0) ""
  ["MULTIPLE_CNT"]=>
  string(1) "5"
  ["LINK_IBLOCK_ID"]=>
  string(1) "9"
  ["WITH_DESCRIPTION"]=>
  string(1) "N"
  ["SEARCHABLE"]=>
  string(1) "N"
  ["FILTRABLE"]=>
  string(1) "Y"
  ["IS_REQUIRED"]=>
  string(1) "N"
  ["VERSION"]=>
  string(1) "1"
  ["USER_TYPE"]=>
  NULL
  ["USER_TYPE_SETTINGS"]=>
  bool(false)
  ["HINT"]=>
  string(0) ""
  ["~NAME"]=>
  string(10) "Бренд"
  ["~DEFAULT_VALUE"]=>
  string(0) ""
  ["VALUE_ENUM"]=>
  NULL
  ["VALUE_XML_ID"]=>
  NULL
  ["VALUE_SORT"]=>
  NULL
  ["VALUE"]=>
  string(4) "1687"
  ["PROPERTY_VALUE_ID"]=>
  string(5) "11942"
  ["DESCRIPTION"]=>
  string(0) ""
  ["~VALUE"]=>
  string(4) "1687"
  ["~DESCRIPTION"]=>
  string(0) ""
}

и вот

["DISPLAY_PROPERTIES"]=>
  array(1) {
["BRAND"]=>
array(36) {
  ["ID"]=>
  string(2) "47"
  ["IBLOCK_ID"]=>
  string(2) "14"
  ["NAME"]=>
  string(10) "Бренд"
  ["ACTIVE"]=>
  string(1) "Y"
  ["SORT"]=>
  string(3) "500"
  ["CODE"]=>
  string(5) "BRAND"
  ["DEFAULT_VALUE"]=>
  string(0) ""
  ["PROPERTY_TYPE"]=>
  string(1) "E"
  ["ROW_COUNT"]=>
  string(1) "1"
  ["COL_COUNT"]=>
  string(2) "30"
  ["LIST_TYPE"]=>
  string(1) "L"
  ["MULTIPLE"]=>
  string(1) "N"
  ["XML_ID"]=>
  string(4) "1143"
  ["FILE_TYPE"]=>
  string(0) ""
  ["MULTIPLE_CNT"]=>
  string(1) "5"
  ["LINK_IBLOCK_ID"]=>
  string(1) "9"
  ["WITH_DESCRIPTION"]=>
  string(1) "N"
  ["SEARCHABLE"]=>
  string(1) "N"
  ["FILTRABLE"]=>
  string(1) "Y"
  ["IS_REQUIRED"]=>
  string(1) "N"
  ["VERSION"]=>
  string(1) "1"
  ["USER_TYPE"]=>
  NULL
  ["USER_TYPE_SETTINGS"]=>
  bool(false)
  ["HINT"]=>
  string(0) ""
  ["~NAME"]=>
  string(10) "Бренд"
  ["~DEFAULT_VALUE"]=>
  string(0) ""
  ["VALUE_ENUM"]=>
  NULL
  ["VALUE_XML_ID"]=>
  NULL
  ["VALUE_SORT"]=>
  NULL
  ["VALUE"]=>
  string(4) "1687"
  ["PROPERTY_VALUE_ID"]=>
  string(5) "11942"
  ["DESCRIPTION"]=>
  string(0) ""
  ["~VALUE"]=>
  string(4) "1687"
  ["~DESCRIPTION"]=>
  string(0) ""
  ["DISPLAY_VALUE"]=>
  string(36) "<a href="/brands/neomid/">Neomid</a>"
  ["LINK_ELEMENT_VALUE"]=>
  array(1) {
    [1687]=>
    array(30) {
      ["ID"]=>
      string(4) "1687"
      ["~ID"]=>
      string(4) "1687"
      ["IBLOCK_ID"]=>
      string(1) "9"
      ["~IBLOCK_ID"]=>
      string(1) "9"
      ["NAME"]=>
      string(6) "Neomid"
      ["~NAME"]=>
      string(6) "Neomid"
      ["DETAIL_PAGE_URL"]=>
      string(15) "/brands/neomid/"
      ["~DETAIL_PAGE_URL"]=>
      string(15) "/brands/neomid/"
      ["PREVIEW_PICTURE"]=>
      string(4) "1280"
      ["~PREVIEW_PICTURE"]=>
      string(4) "1280"
      ["DETAIL_PICTURE"]=>
      string(4) "1281"
      ["~DETAIL_PICTURE"]=>
      string(4) "1281"
      ["SORT"]=>
      string(3) "500"
      ["~SORT"]=>
      string(3) "500"
      ["LANG_DIR"]=>
      string(1) "/"
      ["~LANG_DIR"]=>
      string(1) "/"
      ["CODE"]=>
      string(6) "neomid"
      ["~CODE"]=>
      string(6) "neomid"
      ["EXTERNAL_ID"]=>
      string(4) "1687"
      ["~EXTERNAL_ID"]=>
      string(4) "1687"
      ["IBLOCK_SECTION_ID"]=>
      NULL
      ["~IBLOCK_SECTION_ID"]=>
      NULL
      ["IBLOCK_TYPE_ID"]=>
      string(21) "aspro_optimus_content"
      ["~IBLOCK_TYPE_ID"]=>
      string(21) "aspro_optimus_content"
      ["IBLOCK_CODE"]=>
      string(20) "aspro_optimus_brands"
      ["~IBLOCK_CODE"]=>
      string(20) "aspro_optimus_brands"
      ["IBLOCK_EXTERNAL_ID"]=>
      string(23) "aspro_optimus_brands_s1"
      ["~IBLOCK_EXTERNAL_ID"]=>
      string(23) "aspro_optimus_brands_s1"
      ["LID"]=>
      string(2) "s1"
      ["~LID"]=>
      string(2) "s1"
    }
  }
}

}`

Neomid - как раз название бренда

я уже в сортировке вот так пробовал, теперь вообще выводит все товары рандомно

$arAvailableSort = array(
     "BRAND" => Array('PROPERTY_BRAND.NAME', "asc"),   
);

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

Автор решения: Константин

Попробуйте вывести через echo или print_r состав товара и проверить содержимое property_BRAND - там у вас действительно передается имя бренда, а не его id для дальнейшего связывания со справочником брендов? Возможно на выходе имеется еще свойство а-ля BRAND_NAME. Чтобы сказать точнее нужно видеть структуру темплейта и инфоблока

→ Ссылка
Автор решения: Firsov36
"ELEMENT_SORT_FIELD" => 'property_BRAND.NAME'

нужно добавить .NAME

→ Ссылка