Как пересортировать свойства элемента Битрикс и передать их в массив далее?

Есть элемент, у него есть свойства.
Одно из свойств это новый порядок сортировки свойств.
Я пересортировываю массив в result_modifier.php
//формирую новый массив с новыми данными для сортировки
foreach ($arResult["DISPLAY_PROPERTIES"] as $key => $array_sort) {

    if($array_sort['CODE'] == 'AD_SORT_SORT') $array_sort_value = array($array_sort['VALUE']);
}

// пересортировываю массив

foreach ($array_sort_value['0'] as $key => $value) {
    $arrr = explode("=",$value);
    $sort[trim($arrr['0'])] = $arrr['1'];
}
//сортирую по возрастанию
asort($sort);
print_r($sort);

$arResult["DISPLAY_PROPERTIES"] = array_map(

    function ($itm) use ($sort) {        
        $id = $itm['ID'];
        if (isset($sort[$id])) {
            $itm['SORT'] = $sort[$id];
        }
        return $itm;
    },
    $arResult["DISPLAY_PROPERTIES"]
);?>

Вроде все, ок, массив изменен, но дальше свойства все равно выводятся с сортировкой по умолчанию.
т.е. данный код дает массив нужный мне:
Array ( [185] => 300 [173] => 350 [172] => 500 )
но дальше все равно битрикс выводит элементы с сортировкой по умолчанию
Array ( [172] => 500 [185] => 300 [173] => 350 )
Что не так может быть? Где что посмотреть?
  • Вопрос задан
  • 463 просмотра
Решения вопроса 1
kikher
@kikher Автор вопроса
добавил еще пересортировку, и все стало на места
usort($arResult["DISPLAY_PROPERTIES"], function ($a, $b) {
    return $a['SORT'] - $b['SORT'];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы