• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/basket.php
  • Класс: BitrixSaleControllerBasket
  • Вызов: Basket::getPrimaryAutoWiredParameter
public function getPrimaryAutoWiredParameter()
{
	return new ExactParameter(
		BasketItem::class,
		'basket',
		function($className, $id) {

			$r = BitrixSaleBasket::getList([
				'select'=>['ORDER_ID'],
				'filter'=>['ID'=>$id]
			]);

			if($row = $r->fetch())
			{
				$order = BitrixSaleOrder::load($row['ORDER_ID']);
				$basket = $order->getBasket()->getItemByBasketCode($id);
				if($basket instanceof BasketItem)
					return $basket;
			}
			else
			{
				$this->addError(new Error(Loc::getMessage('CONTROLLER_ERROR_BASEKT_NOT_EXISTS', ['#ID#'=>$id]), 'BASEKT_NOT_EXISTS'));
			}
			return null;

		}
	);
}