Документация для разработчиков

UpdatePrice

CSaleBasket::UpdatePrice(
  int ID,
  string CALLBACK_FUNC = "",
  string MODULE = "",
  int PRODUCT_ID = 0,
  int QUANTITY = 0,
  string RENEWAL = "N",
  string PRODUCT_PROVIDER_CLASS = ""
);

Метод актуализирует параметры записи с кодом ID корзины на основании провайдера PRODUCT_PROVIDER_CLASS (с версии 12.5) или функции обратного вызова для поддержки актуальности корзины CALLBACK_FUNC (до версии 12.5). Нестатический метод.

Параметры вызова

ПараметрОписаниеС версии
ID Код записи в корзине.
CALLBACK_FUNC Название функции обратного вызова для поддержки актуальности корзины. Параметр считается устаревшим, начиная с версии 12.5. На смену ему пришел PRODUCT_PROVIDER_CLASS.
MODULE Модуль, добавивший товар в корзину.
PRODUCT_ID Код товара.
QUANTITY Количество товара в корзине.
RENEWAL Флаг "Продление подписки" (значения - Y/N).4.0.6
PRODUCT_PROVIDER_CLASS Имя класса, реализующего интерфейс IBXSaleProductProvider. Торговый каталог записывает в это поле имя класса CCatalogProductProvider.
Параметр доступен, начиная с версии 12.5. Если он не задан, то возникает попытка использовать устаревший механизм через CALLBACK_FUNC.
12.5.0

Пример использования

<?
// GetBasketList() - стандартная функция модуля Интернет-Магазина

function GetBasketList()
{
   CSaleBasket::Init();
   $arRes = array();
   $db_res = CSaleBasket::GetList(($by="NAME"), ($order="ASC"), array("FUSER_ID"=>$_SESSION["SALE_USER_ID"], "LID"=>SITE_ID, "ORDER_ID"=>"NULL"));

   while ($res = $db_res->GetNext())
   {
      if (strlen($res["CALLBACK_FUNC"])>0)
      {
         CSaleBasket::UpdatePrice($res["ID"], $res["CALLBACK_FUNC"], $res["MODULE"], $res["PRODUCT_ID"], $res["QUANTITY"]);
         $res = CSaleBasket::GetByID($res["ID"]);
      }
      $arRes[] = $res;
   }
   return $arRes;
}

$arBasket = GetBasketList();

echo "<pre>";
print_r($arBasket);
echo "</pre>";
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх