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

getOffersList

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

mixed 
CCatalogSKU::getOffersList(
	array productID,
	int iblockID = 0,
	array skuFilter = array(),
	array fields = array(),
	array propertyFilter = array()
)

Метод возвращает торговые предложения для массива товаров из одного или нескольких инфоблоков. Метод статический.

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

Параметр Описание
productID Массив идентификаторов товаров.
iblockID ID инфоблока. Необязательный параметр, задается только если все товары принадлежат одному инфоблоку. В противном случае должен быть равен нулю.
skuFilter Массив для фильтрации торговых предложений - выбираются только те предложения, которые удовлетворяют фильтру. Если второй параметр не нулевой, то можно фильтровать и по свойствам предложений. В противном случае фильтрация возможна только по полям торговых предложений), так как фильтр является общим для всех инфоблоков. По умолчанию пуст.
fields Массив с перечнем возвращаемых полей торговых предложений. Если не задать, то будут возвращены только ID и IBLOCK_ID предложения.
propertyFilter Массив с перечнем возвращаемых свойств торговых предложений. Может содержать один из ключей:
  • ID - содержит ID необходимых свойств (общий список для всех инфоблоков);
  • CODE - содержит символьные коды необходимых свойств (общий список для всех инфоблоков).
При наличии обоих ключей информация берется из ключа ID.
options Дополнительные настройки. Необязательный. Возможные ключи:
USE_PROPERTY_ID = Y - ключами массива значений для каждого элемента использовать ID свойств. Иначе - символьные коды.
PROPERTY_FIELDS - массив полей СВОЙСТВА, возвращаемых в результате.
GET_RAW_DATA => Y - в этом случае в возвращаемых данных не будет ключей с ~ в начале, а оставшиеся не будут приведены к html-безопасному виду.

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

В случае ошибки (некорректных параметров) метод возвращает false, а в случае успешного выполнения - массив, где ключами являются идентификаторы товаров, у которых есть предложения, а значениями - массивы предложений (ключи - ID предложений).

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

$res = CCatalogSKU::getOffersList(
	$productID, // массив ID товаров
	$iblockID = 0, // указываете ID инфоблока только в том случае, когда ВЕСЬ массив товаров из одного инфоблока и он известен
	$skuFilter = array(), // дополнительный фильтр предложений. по умолчанию пуст.
	$fields = array(),  // массив полей предложений. даже если пуст - вернет ID и IBLOCK_ID
	$propertyFilter = array() /* свойства предложений. имеет 2 ключа:
		ID - массив ID свойств предложений
			либо
		CODE - массив символьных кодов свойств предложений
			если указаны оба ключа, приоритет имеет ID*/
);


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
olegchk39
Сообщение не промодерировано, возможны ошибки и неточности.
Код
$arFilter = ['IBLOCK_ID' => IBLOCK_CATALOG_ID, 'SECTION_ID' => $SECTION_ID, 'INCLUDE_SUBSECTIONS' => 'Y', 'ACTIVE' => 'Y', 'CATALOG_TYPE' => 3];

$dbRes = CIBlockElement::GetList([], $arFilter, false, false, ['ID']);

while($arElem = $dbRes->Fetch()) {
    $arOffers = CCatalogSKU::getOffersList(
        $arElem['ID'],
        IBLOCK_CATALOG_ID,
        ['ACTIVE' => 'Y'],
        false,
        ['CODE' => ['OPERATIVNAYA_PAMYAT', 'VSTROENNAYA_PAMYAT', 'COLOR_REF']]
    );
    $arProducts[$arElem['ID']] = $arOffers;
}
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх