- Модуль: 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 '';
}
}