Все привет.
Помогите разобраться. В компоненте 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. Но товары выводятся не согласно моей сортировке, а по штатному принципу, в каком порядке добавили в таком и выводятся.
Видимо чего то я не знаю, буду рад любой помощи