tyoma_koder
@tyoma_koder

Как добавить в корзину выбранные значения множественного свойства с пересчетом цены?

добавляемое свойство привязано к элементам инфоблока который торговый каталог, цены у элементов прописаны.
В настройках корзины и каталога указал выводить это свойство, и оно выводится, но сразу все значения которые есть у данного элемента. Например свойство цвета у товара заполнены красный, синий, желтый, при добавлении товара в корзину выводится поле "цвета" со списком id всех цветов доступных у товара и на цену это никак не влияет.
Нашел такой вариант:
$basket = Sale\Basket::loadItemsForFUser($user_id, $site_id);
$item = $basket->createItem('catalog', $product_id);
$item->setFields([
            'QUANTITY' => 1,
            'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
            'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
            'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
            'CUSTOM_PRICE'=>'Y',
            'PRICE'=>цену высчитываем сами,
]);
$basket->save();

но цену нужно высчитывать самому и в корзине в поле свойства всёравно будут айдишники
Есть вариант с нормальным выводом свойств, но их надо прописывать в ручную и цену он не пересчитывает:
$cart_pos = Add2BasketByProductID(
    $_GET['oid'],//id торгового предложения
    1,//количество товара
    [
        //свойства для добавления в корзину
        ["CODE" => "tinting", "NAME" => "Колеровка", "VALUE" => 3136]
    ]
);
if ($ex = $APPLICATION->GetException()){
    echo $ex->GetString();
}
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы