• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/basket.php
  • Класс: BitrixSaleControllerBasket
  • Вызов: Basket::getAutoWiredParameters
public function getAutoWiredParameters()
{
	return [
		new BitrixMainEngineAutoWireParameter(
			BasketItem::class,
			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;
			}
		)
	];
}