Получить товары из корзины
1-ый способ
Получить товары из корзины можно через функцию CSaleBasket::GetList()
.
$products_in_cart = CSaleBasket::GetList( array(), // сортировка array( 'FUSER_ID' => CSaleBasket::GetBasketUserID(), 'LID' => SITE_ID, 'ORDER_ID' => NULL ), false, // группировать false, // постраничная навигация array('ID', 'NAME', 'PRODUCT_PRICE_ID', 'PRICE', 'CURRENCY', 'QUANTITY', 'DETAIL_PAGE_URL') );
В последнем параметре указываются поля товаров, которые надо выбрать. Данный параметр не обязателен, но его рекомендуется указывать для ускорения выполнения кода.
Товары выводятся через следующий код:
// 1-ый способ foreach ($products_in_cart->arResult as $product) { echo $product['NAME']; echo $product['PRICE']; } // 2-ой способ while ($product = $products_in_cart->GetNext()) { echo $product['NAME']; echo $product['PRICE']; }
2-ой способ
Получить товары из корзины можно также метод getBasket()
.
use Bitrix\Sale\Fuser; \Bitrix\Main\Loader::includeModule('sale'); $basket_storage = \Bitrix\Sale\Basket\Storage::getInstance(Fuser::getId(), SITE_ID); $basket = $basket_storage->getBasket(); foreach ($basket as $basket_item) { $product = $basket_item->getFieldValues(); $product['PRODUCT_ID']; // ИД товара $product['NAME']; // Имя товара $product['PRICE']; // Цена товара }
Авторизуйтесь, чтобы добавлять комментарии