- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/basketitembase.php
- Класс: BitrixSaleBasketItemBase
- Вызов: BasketItemBase::create
static function create(BasketItemCollection $basketItemCollection, $moduleId, $productId, $basketCode = null)
{
$fields = [
"MODULE" => $moduleId,
"BASE_PRICE" => 0,
"CAN_BUY" => 'Y',
"VAT_RATE" => null,
"CUSTOM_PRICE" => 'N',
"PRODUCT_ID" => $productId,
'XML_ID' => static::generateXmlId(),
];
$basket = $basketItemCollection->getBasket();
if ($basket instanceof BasketBase)
{
$fields['LID'] = $basket->getSiteId();
}
$basketItem = static::createBasketItemObject($fields);
if ($basketCode !== null)
{
$basketItem->internalId = $basketCode;
if (mb_strpos($basketCode, 'n') === 0)
{
$internalId = intval(mb_substr($basketCode, 1));
if ($internalId > static::$idBasket)
{
static::$idBasket = $internalId;
}
}
}
$basketItem->setCollection($basketItemCollection);
return $basketItem;
}