Как отсортировать данные в корзине по алфавиту?

Я не пойму откуда берет данные компонент sale.basket.basket. Вроде бы меняю массив и я вижу что данные поменялись, но во внешнем виде они не изменились и тут у меня большие вопросы, как сделать сортировку
в файле js-templates/basket-item.php
Вот я сортировал в result_modifer.php
$product = array();
foreach ($arResult["BASKET_ITEM_RENDER_DATA"] as $key => $value){
    $product[$key] = $value["NAME"];
}
array_multisort($product, SORT_ASC, $arResult["BASKET_ITEM_RENDER_DATA"]);

Также пробовал и ITEMS и [GRID][ROWS] менять, массив arResult сам меняеться, но вот в шаблоне не понятно почему они не сотрируются
  • Вопрос задан
  • 747 просмотров
Решения вопроса 1
@kudis
Bitrix developer
В файл basket-item.php товары чаще всего приходят в массиве $arResult['GRID']['ROWS']
потому Ваш result_modifer.php должен содержать что-то подобное
class Kudis
{
    public static function sortByNameAsc($arrA, $arrB)
    {
        $a = $arrA['NAME'];
        $b = $arrB['NAME'];

        if ($a == $b) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    }
}

uasort($arResult['GRID']['ROWS'], ['Kudis', 'sortByNameAsc']);

ну, или, можете сортировать через multisort. Кому как нравится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы