• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/product.php
  • Класс: BitrixSaleHelpersAdminProduct
  • Вызов: Product::formatProps
static function formatProps(array $properties)
{
	if(empty($properties))
		return array();

	$result = array();

	foreach ($properties as $prop)
	{
		if (
			(isset($prop['XML_ID']) && $prop['XML_ID'] === 'CML2_LINK')
			|| $prop['PROPERTY_TYPE'] == 'F'
		)
		{
			continue;
		}

		if (is_array($prop["VALUE"]) && empty($prop["VALUE"]))
		{
			continue;
		}

		if (!is_array($prop["VALUE"]) && $prop["VALUE"] == '')
		{
			continue;
		}

		$displayProperty = CIBlockFormatProperties::GetDisplayValue(array(), $prop, '');

		$mxValues = '';

		if ('E' == $prop['PROPERTY_TYPE'])
		{
			if (!empty($displayProperty['LINK_ELEMENT_VALUE']))
			{
				$mxValues = array();

				foreach ($displayProperty['LINK_ELEMENT_VALUE'] as $arTempo)
					$mxValues[] = $arTempo['NAME'].' ['.$arTempo['ID'].']';
			}
		}
		elseif ('G' == $prop['PROPERTY_TYPE'])
		{
			if (!empty($displayProperty['LINK_SECTION_VALUE']))
			{
				$mxValues = array();

				foreach ($displayProperty['LINK_SECTION_VALUE'] as $arTempo)
					$mxValues[] = $arTempo['NAME'].' ['.$arTempo['ID'].']';
			}
		}
		if (empty($mxValues))
		{
			$mxValues = $displayProperty["DISPLAY_VALUE"];
		}

		$result[] = array(
			'ID' => $prop["ID"],
			'CODE' => htmlspecialcharsback($prop['CODE']),
			'NAME' => htmlspecialcharsback($prop["NAME"]),
			'VALUE' => htmlspecialcharsback(strip_tags(is_array($mxValues) ? implode("/ ", $mxValues) : $mxValues))
		);
	}

	return $result;
}