Все привет.
Помогите разобраться. В компоненте sale.basket.basket нужно сделать вывод SKU отсортированный по id товара. В актуальной версии компонента есть файл mutator.php, в котором я сделал следующее:
Потом в файле /js-templates/basket-item.php проверяю массив $arResult он отсортирован, как нужно, согласно сортировке из файла mutator.php. Но товары выводятся не согласно моей сортировке, а по штатному принципу, в каком порядке добавили в таком и выводятся.
Видимо чего то я не знаю, буду рад любой помощи
Помогите разобраться. В компоненте sale.basket.basket нужно сделать вывод SKU отсортированный по id товара. В актуальной версии компонента есть файл mutator.php, в котором я сделал следующее:
Код |
---|
// создаю новый ключ PRODUCT_ID_PARENT с id товара к которому привязано SKU foreach ($result['BASKET_ITEM_RENDER_DATA'] as $key => $ItemProduct) { $productIdParent = CCatalogSku::GetProductInfo($ItemProduct['PRODUCT_ID']); $result['BASKET_ITEM_RENDER_DATA'][$key]['PRODUCT_ID_PARENT'] = $productIdParent['ID']; } // сортирую массив по PRODUCT_ID_PARENT и по NAME $copyResult = $result['BASKET_ITEM_RENDER_DATA']; $a = array_column($copyResult, 'PRODUCT_ID_PARENT'); $b = array_column($copyResult, 'NAME'); array_multisort($a, SORT_DESC, $b, SORT_DESC, $copyResult); // обнуляю массив $result['BASKET_ITEM_RENDER_DATA'] = array(); // записываю отсортированный массив в $result['BASKET_ITEM_RENDER_DATA'] foreach ($copyResult as $itemProduct) { $result['BASKET_ITEM_RENDER_DATA'][] = $itemProduct; } |
Потом в файле /js-templates/basket-item.php проверяю массив $arResult он отсортирован, как нужно, согласно сортировке из файла mutator.php. Но товары выводятся не согласно моей сортировке, а по штатному принципу, в каком порядке добавили в таком и выводятся.
Видимо чего то я не знаю, буду рад любой помощи