pasha_zigzag
@pasha_zigzag
Джун Джуновский

Как получить значения свойств товара в корзине?

Мне нужно получить свойства товаров, чтобы создать excel документ.
foreach ($basketItems as $basketItem) {
                    $item = $basketItem; //$basketItems = $basket->getBasketItems();
                    $name = $item->getField('NAME');
                    $price = $item->getPrice();
                    $price1 = $item->getFinalPrice();
                    $quantity = $item->getQuantity();
                    
                    $MODIFICATION = getBasketPropertyValue($item,'MODIFICATION');
                    $SERVICE_CODE = getBasketPropertyValue($item,'SERVICE_CODE');
                    $REESTR = getBasketPropertyValue($item,'REESTR');
                    $OTDEL = getBasketPropertyValue($item,'OTDEL');
                    $WITHOUT_NDS = getBasketPropertyValue($item,'WITHOUT_NDS');
                    
                    /*
                    $MODIFICATION = $item->getField('MODIFICATION');
                    $SERVICE_CODE = $item->getField('SERVICE_CODE');
                    $REESTR = $item->getField('REESTR');
                    $OTDEL = $item->getField('OTDEL');
                    $WITHOUT_NDS = $item->getField('WITHOUT_NDS');
                    
                    $MODIFICATION = $properties->getItemById(494);
                    $SERVICE_CODE = $properties->getItemById(495);
                    $REESTR = $properties->getItemById(496);
                    $OTDEL = $properties->getItemById(497);
                    $WITHOUT_NDS = $properties->getItemById(498);
                    */
}

function getBasketPropertyValue(\Bitrix\Sale\BasketItem $item,$code) {
    foreach ($item->getPropertyCollection() as $property) {
        if($property->getField('CODE')!=$code)
            continue;
        return $property->getField('VALUE');
    }
    return false;
}


Такие способы не помогают
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@PetrPo
$item->getPropertyCollection() - это не массив

foreach ($basketItems as $basketItem) {
	$basketPropertyCollection = $basketItem->getPropertyCollection();
	$propertyValues = $basketPropertyCollection->getPropertyValues();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы