This repository has been archived by the owner on Sep 9, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 93
Работа со свойствами товара корзины (D7)
John edited this page Nov 9, 2016
·
30 revisions
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
// массив объектов \Bitrix\Sale\BasketItem
$basketItems = $basket->getBasketItems();
$basketItem = $basketItems[0]; //current($basketItems);
// Свойства записи, массив объектов Sale\BasketPropertyItem
$basketPropertyCollection = $basketItem->getPropertyCollection();
//$basketItem - объект \Bitrix\Sale\BasketItem
$basketPropertyCollection = \Bitrix\Sale\BasketPropertiesCollection::load($basketItem);
$basketPropertyCollection->getBasketId();
$basketPropertyCollection->getBasketItem();
$basketPropertyCollection->verify();
$props = $basketPropertyCollection->getPropertyValues();
//или так
foreach($basketPropertyCollection as $property)
{
$props[] = $property->getFieldValues();
}
$property = $basketPropertyCollection->getPropertyItemByValue([
'VALUE' => 'NMTA TORTORA', // Обязательно для указания
'CODE' => 'COLOR', //Обязательно для указания (или CODE или NAME)
'NAME' => 'Цвет', //Обязательно для указания (или CODE или NAME)
]);
$isExists = $basketPropertyCollection->isPropertyAlreadyExists([
'VALUE' => 'NMTA TORTORA', // Обязательно для указания
'CODE' => 'COLOR', //Обязательно для указания (или CODE или NAME)
'NAME' => 'Цвет', //Обязательно для указания (или CODE или NAME)
]);
foreach($basketPropertyCollection as $property)
{
//Получение ID
$property->getId()
//Получение любого поля
$property->getField('CODE')
//Получение всех доступных полей
$property->getAllFields()
}
//ID товара в корзине
$basketItemId = 111;
$res = Bitrix\Sale\Internals\BasketPropertyTable::getList([
'order' => [
"SORT" => "ASC",
"ID" => "ASC"
],
'filter' => [
"BASKET_ID" => $basketItemId,
],
]);
while($property = $res->fetch())
{
//Код
}
Поля таблицы b_sale_basket_props
:
- ID - ID записи
- BASKET_ID - ID товара корзины
- NAME - Название свойства товара
- VALUE - Значение свойства товара
- CODE - Код свойства товара
- SORT - Поле сортировки