• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/propertycatalogfeature.php
  • Класс: BitrixCatalogProductPropertyCatalogFeature
  • Вызов: PropertyCatalogFeature::getOfferTreePropertyCodes
static function getOfferTreePropertyCodes($iblockId, array $parameters = []): ?array
	{
		$iblockId = (int)$iblockId;
		if ($iblockId <= 0)
			return null;

		$catalog = CCatalogSku::GetInfoByOfferIBlock($iblockId);
		if (empty($catalog))
			return null;

		if (!self::isEnabledFeatures())
			return self::getOfferTreePropertyByTypes($catalog, $parameters);

		$filter = [
			'=MODULE_ID' => 'catalog',
			'=FEATURE_ID' => self::FEATURE_ID_OFFER_TREE_PROPERTY,
			'=PROPERTY.MULTIPLE' => 'N',
			'!=PROPERTY.ID' => $catalog['SKU_PROPERTY_ID'],
			[
				'LOGIC' => 'OR',
				[
					'@PROPERTY.PROPERTY_TYPE' => [
						IblockPropertyTable::TYPE_ELEMENT,
						IblockPropertyTable::TYPE_LIST
					]
				],
				[
					'=PROPERTY.PROPERTY_TYPE' => IblockPropertyTable::TYPE_STRING,
					'=PROPERTY.USER_TYPE' => 'directory'
				]
			]
		];

		return self::getFilteredPropertyCodes($iblockId, $filter, $parameters);
	}