• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/action/entity/getbasketaction.php
  • Класс: BitrixSaleControllerActionEntityGetBasketAction
  • Вызов: GetBasketAction::run
public function run(array $fields)
{
	$checkParamsResult = $this->checkParams($fields);
	if (!$checkParamsResult->isSuccess())
	{
		$this->addErrors($checkParamsResult->getErrors());
		return null;
	}

	$fuserId = $fields['FUSER_ID'];
	$basket = $this->getBasketByFuserId($fuserId, $fields['SITE_ID']);

	$registry = SaleRegistry::getInstance(SaleRegistry::REGISTRY_TYPE_ORDER);
	/** @var SaleOrder $orderClassName */
	$orderClassName = $registry->getOrderClassName();
	$order = $orderClassName::create($fields['SITE_ID']);
	$order->setBasket($basket);

	return [
		'BASKET_ITEMS' => SaleHelpersControllerActionEntityOrder::getOrderProductsByBasket($basket),
		'ORDER_PRICE_TOTAL' => SaleHelpersControllerActionEntityOrder::getTotal($order),
	];
}