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