D7, расчёт скидок корзины, пример из документации не работает, пустое значение $result['BASKET_ITEMS'], Необходимо работать с базовой ценой и скидкой в корзине. Взял пример из документации, попробовал - не работает. Оказалось пустое значение $result['BASKET_ITEMS']
// Поскольку корзина не привязана к заказу делаем так $context = new \Bitrix\Sale\Discount\Context\Fuser($basket->getFUserId()); $discounts = \Bitrix\Sale\Discount::buildFromBasket($basket, $context); $r = $discounts->calculate();// Проверял, в $r есть нужные мне скидки
if (!$r->isSuccess()) { var_dump($r->getErrorMessages()); }
$result = $discounts->getApplyResult();// var_dump($result); показывает что ключа ['BASKET_ITEMS'] в нём нет
if (isset($result['BASKET_ITEMS'])) {// из комментария выше следует что следующий код выполнен не будет $r = $basket->applyDiscount($result['BASKET_ITEMS']); if (!$r->isSuccess()) { var_dump($r->getErrorMessages()); } }
Вопрос в том, почему $result['BASKET_ITEMS'] не существует и как применить скидки чтобы цена с скидкой была доступна по $basketItem->getPrice() а так же величина скидки по $basketItem->getField("DISCOUNT_PRICE")
$basketItem получаю так foreach ($basket->getBasketItems() as $basketItem) {...}
Моё резюме и мои контакты на SuperJob -> перейти Верефицированный WMID 274708912937 -> проверить
Да, заменил строчку как Вы написали! Вот теперь всё работает и $basketItem->getPrice(); после выполнения всего выше описанного кода вернул значение цены с скидкой ТП как и было нужно.
Касаемо ошибки в документации, её поправят?
Если я как пользователь опубликую комментарий его добавят?
Моё резюме и мои контакты на SuperJob -> перейти Верефицированный WMID 274708912937 -> проверить