@ChertyakaNUB

Как побороть ошибку Call to a member function GetProperties() on boolean (0)?

Всем привет!

Попробовал создать товар без разделов с ценой 0 и в шаблоне корзины сделал запись:
$Cart = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
$item = $Cart->createItem('catalog', 666); 
        $item->setFields(array(
          'PRODUCT_PRICE_ID' => 0,
          'PRICE' => -(int)$Price,
          'CURRENCY' => 'RUB',
          'QUANTITY' => 1,
          'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
          'CUSTOM_PRICE' => 'Y',
          'NAME' => 'Скидон - '.$Price,
        ));
        $Cart->save();

При добавлении товара выскакивает ошибка:
[Error] 
Call to a member function GetProperties() on boolean (0)
/var/www/....php:17

С указанием файла и строки с кодом:
17 строка: $articul= CIBlockElement::GetByID($mxResult['ID'])->GetNextElement()->GetProperties();


Народ, кто может подсказать, как решить сие проблему? При добавлении товара корзина падает и выходит ошибка та что выше указал. Но если навести на корзину в меню, то выпадет список товаров в корзине, и там будет добавленный товар, только без названия, но с ценой.
  • Вопрос задан
  • 3593 просмотра
Решения вопроса 1
@PetrPo
В строке
$articul= CIBlockElement::GetByID($mxResult['ID'])->GetNextElement()->GetProperties();

ошибка, так как метод GetNextElement возвращает false, надо добавить проверку
$articul = [];

$dbRes = CIBlockElement::GetByID($mxResult['ID']);
if($ob = $dbRes->GetNextElement()) {
  $articul = $ob->GetProperties();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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