• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/component/baseform.php
  • Класс: BitrixCatalogComponentBaseForm
  • Вызов: BaseForm::getPropertyFieldValue
protected function getPropertyFieldValue(array $field)
{
	/** @var Property $property */
	$property = $this->entity->getPropertyCollection()->findById($field['propertyId']);
	$value = $property ? $property->getPropertyValueCollection()->getValues() : null;

	if (!isset($field['type']))
	{
		return $value;
	}

	if ($field['type'] === 'html')
	{
		if ($field['multiple'])
		{
			foreach ($value as &$item)
			{
				$item = $item['TEXT'] ?? null;
			}
		}
		else
		{
			$value = $value['TEXT'] ?? null;
		}
	}
	elseif ($property && $property->getUserType() === CIBlockPropertySequence::USER_TYPE)
	{
		if ($field['multiple'])
		{
			foreach ($value as $valueItemKey => $valueItem)
			{
				if ($valueItem > 0)
				{
					$value[$valueItemKey] = (int)$value;
				}
				else
				{
					$value[$valueItemKey] = $this->getSequence(
						$property->getId(),
						$property->getSetting('IBLOCK_ID')
					);
				}
			}
		}
		else
		{
			if ($value > 0)
			{
				$value = (int)$value;
			}
			else
			{
				$value = $this->getSequence(
					$property->getId(),
					$property->getSetting('IBLOCK_ID')
				);
			}
		}
	}

	return $value;
}