• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/basketitem.php
  • Класс: BitrixSaleControllerBasketItem
  • Вызов: BasketItem::prepareFields
public function prepareFields($fields)
{
	$data = null;
	Loader::includeModule('catalog');

	if(isset($fields['BASKET_ITEMS']))
	{
		$i=0;
		foreach ($fields['BASKET_ITEMS'] as $item)
		{
			if(isset($item['PRODUCT_ID']))
			{
				$item['OFFER_ID'] = $item['PRODUCT_ID'];
				unset($item['PRODUCT_ID']); // need for builder
			}

			/*$properties = isset($item['PROPERTIES'])? $item['PROPERTIES']:[];
			foreach ($properties as &$property)
			{
				if(isset($property['BASKET_ID']))
					unset($property['BASKET_ID']);
			}

			$item['PROPS'] = $properties;*/

			$item['PROPS'] = isset($item['PROPERTIES'])? $item['PROPERTIES']:[];
			unset($item['PROPERTIES']);

			$basketCode = isset($item['ID'])? $item['ID']:'n'.++$i;
			if(isset($item['ID']))
				unset($item['ID']);

			$data[$basketCode] = $item;
		}
		unset($fields['BASKET_ITEMS']);
	}

	return is_array($data)?['PRODUCT'=>$data]:[];
}