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

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
Наверх