• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_xmlid.php
  • Класс: CIBlockPropertyXmlID
  • Вызов: CIBlockPropertyXmlID::GetPublicViewHTML
static function GetPublicViewHTML($arProperty, $value, $strHTMLControlName)
{
	static $cache = array();
	if(isset($strHTMLControlName['MODE']) && $strHTMLControlName["MODE"] == "CSV_EXPORT")
	{
		return $value["VALUE"];
	}
	elseif($value["VALUE"] <> '')
	{
		if(!isset($cache[$value["VALUE"]]))
		{
			$db_res = CIBlockElement::GetList(
				array(),
				array("=XML_ID"=>$value["VALUE"], "SHOW_HISTORY"=>"Y"),
				false,
				false,
				array("ID", "IBLOCK_TYPE_ID", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL")
			);
			$ar_res = $db_res->GetNext();
			if($ar_res)
				$cache[$value["VALUE"]] = $ar_res;
			else
				$cache[$value["VALUE"]] = $value["VALUE"];
		}

		if (isset($strHTMLControlName['MODE']) && ($strHTMLControlName["MODE"] == "SIMPLE_TEXT" || $strHTMLControlName["MODE"] == 'ELEMENT_TEMPLATE'))
		{
			if (is_array($cache[$value["VALUE"]]))
				return $cache[$value["VALUE"]]["~NAME"];
			else
				return $cache[$value["VALUE"]];
		}
		else
		{
			if (is_array($cache[$value["VALUE"]]))
				return ''.$cache[$value["VALUE"]]["NAME"].'';
			else
				return htmlspecialcharsex($cache[$value["VALUE"]]);
		}
	}
	else
	{
		return '';
	}
}