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

Update

int 
CSaleBasket::Update(
 int ID,
 array arFields
);

Метод обновляет параметры товара с кодом ID на основании массива arFields. Нестатический метод.

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

ПараметрОписание
ID Код элемента корзины.
arFields Ассоциативный массив новых параметров элемента корзины, содержащий следующие ключи:
  • PRODUCT_ID - уникальный в рамках модуля код товара;
  • PRODUCT_PRICE_ID - дополнительный код товара;
  • PRICE - стоимость единицы товара ;
  • CUSTOM_PRICE Указывает на то могут ли, например, скидки изменять стоимость позиции или нет. Обычно этот флаг выставляется в административном отделе, когда в форме редактирования вручную правится цена. Значение Y/N (N - по умолчанию).
  • CURRENCY - валюта стоимости единицы товара;
  • WEIGHT - вес единицы товара;
  • QUANTITY - количество единиц товара, если значение элемента массива с этим ключем равно нулю, то товар удаляется из корзины;
  • LID - сайт, на котором сделана покупка;
  • DELAY - флаг "товар отложен" (Y/N);
  • CAN_BUY - флаг "товар можно купить" (Y/N) - может устанавливаться автоматически про наличии функции обратного вызова для поддержки актуальности корзины;
  • NAME - название товара (обязательное поле);
  • CALLBACK_FUNC* - название функции обратного вызова для поддержки актуальности корзины (подробности в описании метода CSaleBasket::Add);
  • MODULE - модуль, добавляющий файл в корзину;
  • ORDER_ID - идентификатор заказа. Ключ позволяет добавить товар к уже оформленному заказу (добавить к заказу можно только тот товар, который не был привязан к заказу). Важный момент: при этом общая сумма заказа не пересчитается, нужно дополнительно обновить сам заказ (общую стоимость) через CSaleOrder::Update.
  • NOTES - особые заметки, например, тип цены;
  • ORDER_CALLBACK_FUNC* - название функции обратного вызова для оформления заказа (подробности в описании метода CSaleBasket::Add);
  • DETAIL_PAGE_URL - ссылка на страницу детального просмотра товара;
  • PROPS - массив свойств товара, который сохраняется в корзине. Каждый элемент этого массива является массивом следующего формата:
    array("NAME" => "Название свойства", "CODE" => "Код свойства", "VALUE" => "Значение свойства", "SORT" => "Индекс сортировки")

    Параметр PROPS должен содержать массив из всех предыдущих значений, иначе они будут затерты. Но если надо, наоборот, очистить свойства у элемента корзины, передаем пустой массив array();

    Максимальная длина значения свойства товара 255 символов.

  • PRODUCT_PROVIDER_CLASS** - содержит имя класса, реализующего интерфейс IBXSaleProductProvider. Торговый каталог записывает в это поле имя класса CCatalogProductProvider. Если поле пусто, то возникает попытка использовать старые поля:CALLBACK_FUNC, ORDER_CALLBACK_FUNC.
  • IGNORE_CALLBACK_FUNC - Y\N. По умолчанию N. Если выставить параметру Y то CALLBACK_FUNC и PRODUCT_PROVIDER_CLASS вызываться не будут.

* - поля считаются устаревшими, начиная с версии 12.5. Вместо них используется PRODUCT_PROVIDER_CLASS.
** - поле доступно, начиная с версии 12.5.

Возвращаемые значения

Метод возвращает true или false.

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

<?
// Изменим количество товара в записи $ID корзины на 2 штуки и отложим товар
$arFields = array(
   "QUANTITY" => 2,
   "DELAY" => "Y"
);
CSaleBasket::Update($ID, $arFields);
?>


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

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

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

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

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