Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Работа с товаром корзины (D7)

John edited this page Nov 7, 2016 · 16 revisions

Работа с товаром корзины

//Получение корзины текущего пользователя
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
   \Bitrix\Sale\Fuser::getId(),
   \Bitrix\Main\Context::getCurrent()->getSite()
);

// массив объектов \Bitrix\Sale\BasketItem
$basketItems = $basket->getBasketItems(); 

$item = $basketItems[0] //current($basketItems);
$item->getId();         // ID записи корзины
$item->getProductId();  // ID товара
$item->getPrice();      // Цена за единицу
$item->getQuantity();   // Количество
$item->getFinalPrice(); // Сумма
$item->getWeight();     // Вес
$item->getField('NAME');// Любое поле записи корзины
$item->canBuy();        // true, если доступно для покупки
$item->isDelay();       // true, если отложено

Поля записи корзины

  • PRODUCT_ID - уникальный в рамках модуля код товара (обязательное поле);
      <li><b>PRODUCT_PRICE_ID</b> - ID (идентификатор) конкретного ценового предложения товара, пришедшего в корзину. Может быть использован в классе <a href="/api_help/catalog/classes/cprice/index.php">CPrice</a> модуля Catalog для получения детальной информации о цене.</li>
     			 
      <li> 		<b> 	 PRICE</b> - стоимость единицы товара (обязательное поле);</li>
     			 
      <li><b>CURRENCY</b> - валюта стоимости единицы товара (обязательное поле), если валюта отличается от базовой валюты для данного сайта, то стоимость будет автоматически сконвертирована по текущему курсу;</li>
     			 
      <li><b>WEIGHT</b> - вес единицы товара;</li>
     			 
      <li><b>QUANTITY</b> - количество единиц товара;</li>
     			 
      <li><b>LID</b> - сайт, на котором сделана покупка (обязательное поле);</li>
     			 
      <li><b>DELAY</b> - флаг "товар отложен" (Y/N);</li>
     			 
      <li><b>CAN_BUY</b> - флаг "товар можно купить" (Y/N) - может устанавливаться автоматически про наличии функции обратного вызова для поддержки актуальности корзины;</li>
     			 
      <li><b>NAME</b> - название товара (обязательное поле);</li>

      <li><b>PRODUCT_XML_ID</b> - внешний код товара (необходим при обмене заказами с 1С);</li>

      <li><b>CATALOG_XML_ID</b> - внешний код каталога (необходим при обмене заказами с 1С);</li>

      <li><b>ORDER_ID</b> - идентификатор заказа. Ключ будет пустым, если товар еще не добавлен в заказ;</li>
      <li><b>MODULE</b> - модуль, добавляющий товар в корзину;</li>
      <li><b>NOTES</b> - особые заметки, например, тип цены;</li>
      <li><b>DETAIL_PAGE_URL</b> - ссылка на страницу детального просмотра товара;</li>

      <li><b>FUSER_ID</b> - идентификатор пользователя интернет-магазина, необязательный параметр, по умолчанию CSaleBasket::GetBasketUserID() (текущий пользователь);</li>
     			 
      <li><b>DISCOUNT_PRICE</b> - величина скидки;</li>

      <li><b>DISCOUNT_NAME</b> - название скидки;</li>

      <li><b>DISCOUNT_VALUE</b> - размер скидки (в процентах);</li>

      <li><b>DISCOUNT_COUPON</b> - купон скидки;</li>

      <li><b>PROPS</b> - массив свойств товара, который сохраняется в корзине. Каждый элемент этого массива является массивом следующего формата: 		 
        <pre class="syntax hljs php" data-initialized="true" data-gclp-id="1"><code class=" hljs "><span class="hljs-keyword"><span class="hljs-keyword">array</span></span>(<span class="hljs-string"><span class="hljs-string">"NAME"</span></span> =&gt; <span class="hljs-string"><span class="hljs-string">"Название свойства"</span></span>,
  <span class="hljs-string"><span class="hljs-string">"CODE"</span></span> =&gt; <span class="hljs-string"><span class="hljs-string">"Код свойства"</span></span>, 
  <span class="hljs-string"><span class="hljs-string">"VALUE"</span></span> =&gt; <span class="hljs-string"><span class="hljs-string">"Значение свойства"</span></span>, 
  <span class="hljs-string"><span class="hljs-string">"SORT"</span></span> =&gt; <span class="hljs-string"><span class="hljs-string">"Индекс сортировки"</span></span>)</code></pre>
       </li>
      <li><b>PRODUCT_PROVIDER_CLASS</b> - содержит имя класса, реализующего интерфейс <b> IBXSaleProductProvider</b>. Торговый каталог записывает в это поле имя класса <b>CCatalogProductProvider</b>. Если поле пусто, то возникает попытка использовать старые поля:<b>CALLBACK_FUNC</b>, <b>ORDER_CALLBACK_FUNC</b>, <b>CANCEL_CALLBACK_FUNC</b> и <b>PAY_CALLBACK_FUNC</b>.</li>
     		</ul>

Работа со свойствами корзины

Полезные ссылки

Clone this wiki locally