static function getPropertyDescription(
string $code,
array $fields = []
): ?array
{
switch($code)
{
case self::CODE_MORE_PHOTO:
$name = Loc::getMessage('IBPT_PROP_TITLE_MORE_PHOTO');
if (isset($fields['IBLOCK_ID']))
{
if (Loader::includeModule('catalog'))
{
$catalog = CCatalogSku::GetInfoByIBlock($fields['IBLOCK_ID']);
if (!empty($catalog))
{
$name =
$catalog['CATALOG_TYPE'] === CCatalogSku::TYPE_OFFERS
? Loc::getMessage('IBPT_PROP_TITLE_PRODUCT_VARIATION_MORE_PHOTO')
: Loc::getMessage('IBPT_PROP_TITLE_PRODUCT_MORE_PHOTO')
;
}
}
}
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_FILE,
'NAME' => $name,
'CODE' => self::CODE_MORE_PHOTO,
'XML_ID' => self::XML_MORE_PHOTO,
'MULTIPLE' => 'Y',
'MULTIPLE_CNT' => 1,
'FILE_TYPE' => 'jpg, gif, bmp, png, jpeg, webp',
'WITH_DESCRIPTION' => 'Y',
];
break;
case self::CODE_SKU_LINK:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_ELEMENT,
'USER_TYPE' => CIBlockPropertySKU::USER_TYPE,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_SKU_LINK'),
'CODE' => self::CODE_SKU_LINK,
'XML_ID' => self::XML_SKU_LINK,
'FILTRABLE' => 'Y',
];
break;
case self::CODE_BLOG_POST:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_NUMBER,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_BLOG_POST'),
'CODE' => self::CODE_BLOG_POST,
'XML_ID' => self::XML_BLOG_POST,
];
break;
case self::CODE_BLOG_COMMENTS_COUNT:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_NUMBER,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_BLOG_COMMENTS_COUNT'),
'CODE' => self::CODE_BLOG_COMMENTS_COUNT,
'XML_ID' => self::XML_BLOG_COMMENTS_COUNT,
];
break;
case self::CODE_ARTNUMBER:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_STRING,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_ARTNUMBER'),
'CODE' => self::CODE_ARTNUMBER,
'XML_ID' => self::XML_ARTNUMBER,
];
break;
case self::CODE_BACKGROUND_IMAGE:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_STRING,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_BACKGROUND_IMAGE'),
'CODE' => self::CODE_BACKGROUND_IMAGE,
'XML_ID' => self::XML_BACKGROUND_IMAGE,
];
break;
case self::CODE_BRAND_FOR_FACEBOOK:
$property = [
'PROPERTY_TYPE' => IblockPropertyTable::TYPE_STRING,
'NAME' => Loc::getMessage('IBPT_PROP_TITLE_BRAND_FOR_FACEBOOK'),
'CODE' => self::CODE_BRAND_FOR_FACEBOOK,
'XML_ID' => self::XML_BRAND_FOR_FACEBOOK,
'MULTIPLE' => 'Y',
'USER_TYPE' => 'directory',
'USER_TYPE_SETTINGS' => [
'TABLE_NAME' => 'b_catalog_facebook_brand_reference',
],
];
break;
default:
$property = null;
break;
}
if ($property !== null)
{
$property += [
'ACTIVE' => 'Y',
'SORT' => 500,
'MULTIPLE' => 'N',
'USER_TYPE' => null,
];
if (!empty($fields))
{
$property = $fields + $property;
}
}
return $property;
}