• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/propertycatalogfeature.php
  • Класс: BitrixCatalogProductPropertyCatalogFeature
  • Вызов: PropertyCatalogFeature::checkOfferTreeProperty
static function checkOfferTreeProperty(array $property, array $description): bool
	{
		if (!isset($property['IBLOCK_ID']))
			return false;
		if ((int)$property['IBLOCK_ID'] > 0)
		{
			$catalog = CCatalogSku::GetInfoByOfferIBlock($property['IBLOCK_ID']);
			if (empty($catalog))
				return false;
		}
		else
		{
			return false;
		}

		if (
			!isset($property['PROPERTY_TYPE'])
			|| (
				$property['PROPERTY_TYPE'] != IblockPropertyTable::TYPE_ELEMENT
				&& $property['PROPERTY_TYPE'] != IblockPropertyTable::TYPE_LIST
				&& $property['PROPERTY_TYPE'] != IblockPropertyTable::TYPE_STRING
			)
		)
			return false;
		if ($property['PROPERTY_TYPE'] == IblockPropertyTable::TYPE_ELEMENT)
		{
			if (isset($property['USER_TYPE']) && $property['USER_TYPE'] == CIBlockPropertySKU::USER_TYPE)
				return false;
		}
		if ($property['PROPERTY_TYPE'] == IblockPropertyTable::TYPE_STRING)
		{
			if (!isset($property['USER_TYPE']) || $property['USER_TYPE'] != 'directory')
				return false;
		}
		if (!isset($property['MULTIPLE']) || $property['MULTIPLE'] != 'N')
			return false;

		return true;
	}