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

getAllSetsByProduct

Описание и параметры

public static function
getAllSetsByProduct(
    $intProductID,
    $intSetType
);

Метод получает состав комплекта или набора(ов), принадлежащих товару. Статический метод.

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

ПараметрОписание
ProductID Код товара.
SetType Тип сущности (комплект/набор).

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

Метод возвращает: false в случае ошибочных параметров, пусто - если ничего не найдено. Если найдено, то возвращает ассоциативный массив параметров с ключами со следующей структурой:

Для комплекта (ключ - идентификатор комплекта):

  • TYPE - константа CCatalogProductSet::TYPE_SET (комплект),
  • SET_ID - идентификатор комплекта,
  • ITEM_ID - идентификатор товара-комплекта,
  • ACTIVE - (Y|N) активность,
  • QUANTITY - количество,
  • MEASURE - идентификатор единицы измерения,
  • DISCOUNT_PERCENT - false,
  • SORT - индекс сортировки,
  • ITEMS - массив (список элементов комплекта.) Для каждого идентификатора записи комплекта массив:
    • ITEM_ID - идентификатор товара входящего в комплект,
    • QUANTITY - множитель единицы измерения товара,
    • MEASURE - идентификатор единицы измерения,
    • DISCOUNT_PERCENT - false (не используется),
    • SORT - индекс сортировки в комплекте.

Для наборов (ключ - идентификатор набора)

  • TYPE - константа CCatalogProductSet::TYPE_GROUP (набор),
  • SET_ID - идентификатор набора,
  • ITEM_ID - идентификатор товара, которому принадлежит набор,
  • ACTIVE'' - (Y|N) активность,
  • QUANTITY - количество,
  • MEASURE - идентификатор единицы измерения,
  • SORT - индекс сортировки,
  • ITEMS - массив (список элементов набора). Для каждого идентификатора записи набора массив:
    • ITEM_ID - идентификатор товара входящего в набор,
    • QUANTITY - множитель единицы измерения товара,
    • MEASURE - идентификатор единицы измерения,
    • SORT - индекс сортировки в наборе.

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

$ownerId = 17; // ID товара-владельца, для которого нужно получить набор(ы)
$result = CCatalogProductSet::getAllSetsByProduct($ownerId, CCatalogProductSet::TYPE_GROUP);
if (!empty($result))
{
      foreach ($result as $bundleId => $bundle)
      {
              echo 'ID набора: '.$bundleId;
              print_r($bundle); // описание и состав набора
      }
}
$ownerId = 45; // ID товара-комплекта
$result = CCatalogProductSet::getAllSetsByProduct($ownerId, CCatalogProductSet::TYPE_SET);
if (!empty($result))
{
      $set = reset($result);
      $setId = key($result);

      echo 'ID комплекта: '.$setId;
      print_r($set); // описание и состав комплекта
}


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

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

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

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

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